
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: string location(Relocate_info<64,_false> * this, size_t param_1, off_t
   offset) */

string * __thiscall
gold::Relocate_info<64,_false>::location
          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset
          )

{
  _func_int_varargs *p_Var1;
  off_t oVar2;
  Dwarf_line_info DVar3;
  bool bVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  _func_int_varargs **pp_Var7;
  string *ret;
  undefined1 auStack_18c [8];
  Symbol_location_info *local_184;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_180;
  undefined8 local_17c;
  Sized_dwarf_line_info<64,_false> *local_174;
  Sized_dwarf_line_info<64,_false> *local_170;
  Symbol_location_info info;
  char buf [100];
  Sized_dwarf_line_info<64,_false> line_info;
  
  local_170 = &line_info;
  local_17c = offset;
  Sized_dwarf_line_info<64,_false>::Sized_dwarf_line_info
            (local_170,(Object *)this->object,0xffffffff);
                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */
  Sized_dwarf_line_info<64,_false>::do_addr2line
            (ret,local_170,this->data_shndx,local_17c,
             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
              *)0x0);
  puVar6 = (undefined4 *)auStack_18c;
  if (ret->_M_string_length == 0) {
                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */
    std::string::_M_assign((string *)ret);
    local_184 = &info;
    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;
    info.source_file._M_string_length = 0;
    local_180 = &info.enclosing_symbol_name.field_2;
    info.source_file.field_2._M_local_buf[0] = '\0';
    info.enclosing_symbol_name._M_string_length = 0;
    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';
    info.source_file._M_dataplus._M_p = (pointer)local_174;
    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;
                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */
    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info
                      (this->object,this->data_shndx,local_17c,local_184);
    if (bVar4) {
      if (info.source_file._M_string_length != 0) {
        std::string::append((char *)ret);
        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);
      }
      if (ret->_M_string_length == 0x7fffffff) {
                    /* WARNING: Subroutine does not return */
        std::__throw_length_error("basic_string::append");
      }
      std::string::_M_append((char *)ret,0x48e596);
      if (info.enclosing_symbol_type == STT_FUNC) {
        gettext();
        std::string::append((char *)ret);
      }
      puVar5 = (undefined4 *)&stack0xfffffe64;
      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);
    }
    else {
      std::string::append((char *)ret);
      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object
               [0x10];
      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {
        elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                  (&this->object->elf_file_,this->data_shndx);
      }
      else {
        (*p_Var1)();
      }
                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */
      std::string::_M_append((char *)ret,buf._0_4_);
      if ((char *)buf._0_4_ != buf + 8) {
        operator_delete((void *)buf._0_4_);
      }
      snprintf(buf,100,"+0x%lx)");
      puVar5 = (undefined4 *)&stack0xfffffe60;
                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */
      std::string::append((char *)ret);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {
      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;
      puVar5[-1] = 0x2a6bb9;
      operator_delete((void *)*puVar5);
    }
    puVar6 = puVar5 + 4;
    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {
      *puVar5 = info.source_file._M_dataplus._M_p;
      puVar5[-1] = 0x2a6bd5;
      operator_delete((void *)*puVar5);
      puVar6 = puVar5 + 4;
    }
  }
  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =
       (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78;
  DVar3._vptr_Dwarf_line_info = (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78;
  if (line_info.buffer_start_ != (uchar *)0x0) {
    *(uchar **)((int)puVar6 + -0x10) = line_info.buffer_start_;
    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6bf6;
    operator_delete__(*(void **)((int)puVar6 + -0x10));
    DVar3 = line_info.super_Dwarf_line_info;
  }
  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info = DVar3._vptr_Dwarf_line_info;
  *(Lineno_map **)((int)puVar6 + -0x10) = &line_info.line_number_map_;
  *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c05;
  std::
  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_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<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));
  *(_Base_ptr *)((int)puVar6 + -0xc) =
       line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
  *(Reloc_map **)((int)puVar6 + -0x10) = &line_info.reloc_map_;
  *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c13;
  std::
  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>
  ::_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>
               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc));
  if (line_info.files_.
      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>
      ._M_impl._M_finish !=
      line_info.files_.
      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>
      ._M_impl._M_start) {
    local_174 = (Sized_dwarf_line_info<64,_false> *)
                line_info.files_.
                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>
                ._M_impl._M_finish;
    local_170 = (Sized_dwarf_line_info<64,_false> *)
                line_info.files_.
                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>
                ._M_impl._M_start;
    oVar2 = local_17c;
    do {
      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);
      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;
      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      if ((_func_int_varargs **)local_17c != pp_Var7) {
        do {
          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {
            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];
            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;
            operator_delete(*(void **)((int)puVar6 + -0x10));
          }
          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);
          pp_Var7 = pp_Var7 + 7;
        } while ((_func_int_varargs **)local_17c != pp_Var7);
        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      }
      local_17c = oVar2;
      if (pp_Var7 != (_func_int_varargs **)0x0) {
        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;
        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;
        operator_delete(*(void **)((int)puVar6 + -0x10));
      }
      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);
      oVar2 = local_17c;
    } while (local_174 != local_170);
  }
  if (line_info.files_.
      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>
      ._M_impl._M_start != (pointer)0x0) {
    *(pointer *)((int)puVar6 + -0x10) =
         line_info.files_.
         super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>
         ._M_impl._M_start;
    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cac;
    operator_delete(*(void **)((int)puVar6 + -0x10));
  }
  if (line_info.directories_.
      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>
      ._M_impl._M_finish !=
      line_info.directories_.
      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>
      ._M_impl._M_start) {
    local_174 = (Sized_dwarf_line_info<64,_false> *)
                line_info.directories_.
                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>
                ._M_impl._M_finish;
    local_170 = (Sized_dwarf_line_info<64,_false> *)
                line_info.directories_.
                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>
                ._M_impl._M_start;
    oVar2 = local_17c;
    do {
      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);
      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;
      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      if ((_func_int_varargs **)local_17c != pp_Var7) {
        do {
          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {
            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;
            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;
            operator_delete(*(void **)((int)puVar6 + -0x10));
          }
          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);
          pp_Var7 = pp_Var7 + 6;
        } while ((_func_int_varargs **)local_17c != pp_Var7);
        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      }
      local_17c = oVar2;
      if (pp_Var7 != (_func_int_varargs **)0x0) {
        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;
        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;
        operator_delete(*(void **)((int)puVar6 + -0x10));
      }
      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);
      oVar2 = local_17c;
    } while (local_174 != local_170);
  }
  if (line_info.directories_.
      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>
      ._M_impl._M_start != (pointer)0x0) {
    *(pointer *)((int)puVar6 + -0x10) =
         line_info.directories_.
         super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>
         ._M_impl._M_start;
    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d43;
    operator_delete(*(void **)((int)puVar6 + -0x10));
  }
  if (line_info.header_.std_opcode_lengths.
      super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start !=
      (pointer)0x0) {
    *(pointer *)((int)puVar6 + -0x10) =
         line_info.header_.std_opcode_lengths.
         super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start;
    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d5b;
    operator_delete(*(void **)((int)puVar6 + -0x10));
  }
  return ret;
}



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

int FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)

{
  code *pcVar1;
  undefined **ppuVar2;
  char cVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined **ppuVar6;
  undefined1 auStack_190 [12];
  int **local_184;
  undefined1 *local_180;
  undefined **local_17c;
  undefined4 local_178;
  undefined ***local_174;
  undefined ***local_170;
  undefined ***local_160;
  int local_15c;
  undefined1 local_158 [16];
  undefined1 *local_148;
  undefined4 local_144;
  undefined1 local_140 [16];
  int local_130;
  undefined1 *local_12c [2];
  undefined1 local_124 [92];
  undefined **local_c8 [12];
  int local_98;
  int local_80;
  undefined ***local_6c;
  undefined ***local_68;
  undefined ***local_60;
  undefined ***local_5c;
  undefined1 local_50 [8];
  undefined4 local_48;
  undefined1 local_38 [40];
  
  local_170 = local_c8;
  local_17c = param_4;
  local_178 = param_5;
  FUN_0037f6b0();
                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */
  FUN_0037d850(param_1,local_170);
  puVar5 = (undefined4 *)auStack_190;
  if (*(int *)(param_1 + 4) == 0) {
                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */
    FUN_003b5c90();
    local_184 = (int **)&local_160;
    local_174 = (undefined ***)local_158;
    local_15c = 0;
    local_180 = local_140;
    local_158[0] = 0;
    local_144 = 0;
    local_140[0] = 0;
    local_160 = local_174;
    local_148 = local_180;
                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */
    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);
    if (cVar3 == '\0') {
      FUN_003b7a40();
      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);
      if (pcVar1 == FUN_00106c40) {
        FUN_00106aa0();
      }
      else {
        (*pcVar1)();
      }
                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */
      FUN_003b7890();
      if (local_12c[0] != local_124) {
        FUN_003ae080();
      }
      snprintf((char *)local_12c,100,"+0x%lx)");
      puVar4 = (undefined4 *)&stack0xfffffe5c;
                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */
      FUN_003b7a40();
    }
    else {
      if (local_15c != 0) {
        FUN_003b7a40();
        FUN_003b7890();
      }
      if (*(int *)(param_1 + 4) == 0x7fffffff) {
                    /* WARNING: Subroutine does not return */
        FUN_003f3a70();
      }
      FUN_003b7890();
      if (local_130 == 2) {
        gettext();
        FUN_003b7a40();
      }
      puVar4 = (undefined4 *)&stack0xfffffe60;
      FUN_003b7890();
    }
    if (local_148 != local_180) {
      *puVar4 = local_148;
      puVar4[-1] = 0x2a6bb9;
      FUN_003ae080();
    }
    puVar5 = puVar4 + 4;
    if (local_160 != local_174) {
      *puVar4 = local_160;
      puVar4[-1] = 0x2a6bd5;
      FUN_003ae080();
      puVar5 = puVar4 + 4;
    }
  }
  local_c8[0] = &PTR_FUN_005e5b78;
  ppuVar6 = &PTR_FUN_005e5b78;
  if (local_80 != 0) {
    *(int *)((int)puVar5 + -0x10) = local_80;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;
    FUN_003ae020();
    ppuVar6 = local_c8[0];
  }
  local_c8[0] = ppuVar6;
  *(undefined1 **)((int)puVar5 + -0x10) = local_38;
  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;
  FUN_0029b5b0();
  *(undefined4 *)((int)puVar5 + -0xc) = local_48;
  *(undefined1 **)((int)puVar5 + -0x10) = local_50;
  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;
  FUN_002a5000();
  if (local_5c != local_60) {
    local_174 = local_5c;
    local_170 = local_60;
    do {
      ppuVar6 = *local_170;
      ppuVar2 = local_170[1];
      if (local_170[1] != ppuVar6) {
        do {
          local_17c = ppuVar2;
          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {
            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];
            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;
            FUN_003ae080();
          }
          ppuVar6 = ppuVar6 + 7;
          ppuVar2 = local_17c;
        } while (local_17c != ppuVar6);
        ppuVar6 = *local_170;
      }
      if (ppuVar6 != (undefined **)0x0) {
        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;
        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;
        FUN_003ae080();
      }
      local_170 = local_170 + 3;
    } while (local_174 != local_170);
  }
  if (local_60 != (undefined ***)0x0) {
    *(undefined ****)((int)puVar5 + -0x10) = local_60;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;
    FUN_003ae080();
  }
  if (local_68 != local_6c) {
    local_174 = local_68;
    local_170 = local_6c;
    do {
      ppuVar6 = *local_170;
      ppuVar2 = local_170[1];
      if (local_170[1] != ppuVar6) {
        do {
          local_17c = ppuVar2;
          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {
            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;
            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;
            FUN_003ae080();
          }
          ppuVar6 = ppuVar6 + 6;
          ppuVar2 = local_17c;
        } while (local_17c != ppuVar6);
        ppuVar6 = *local_170;
      }
      if (ppuVar6 != (undefined **)0x0) {
        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;
        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;
        FUN_003ae080();
      }
      local_170 = local_170 + 3;
    } while (local_174 != local_170);
  }
  if (local_6c != (undefined ***)0x0) {
    *(undefined ****)((int)puVar5 + -0x10) = local_6c;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;
    FUN_003ae080();
  }
  if (local_98 != 0) {
    *(int *)((int)puVar5 + -0x10) = local_98;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;
    FUN_003ae080();
  }
  return param_1;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
LEA ECX,[EBP + 0xffffff3c]
CALL 0x00063c76
ADD ESI,0x3435b0
PUSH EBX
SUB ESP,0x180
MOV EDI,dword ptr [EBP + 0xc]
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + 0xfffffe94],ECX
PUSH -0x1
MOV EDX,dword ptr [EBP + 0x18]
PUSH dword ptr [EDI + 0x8]
PUSH ECX
MOV EBX,ESI
MOV dword ptr [EBP + 0xfffffe88],EAX
MOV dword ptr [EBP + 0xfffffe8c],EDX
CALL 0x0037f6b0
POP EAX
POP EDX
PUSH 0x0
PUSH dword ptr [EBP + 0xfffffe8c]
PUSH dword ptr [EBP + 0xfffffe88]
PUSH dword ptr [EDI + 0x18]
PUSH dword ptr [EBP + 0xfffffe94]
PUSH dword ptr [EBP + 0x8]
CALL 0x0037d850
MOV ECX,dword ptr [EBP + 0x8]
ADD ESP,0x1c
MOV EAX,dword ptr [ECX + 0x4]
TEST EAX,EAX
JNZ 0x002a6bd8
MOV ECX,dword ptr [EDI + 0x8]
SUB ESP,0x8
LEA EAX,[ECX + 0x4]
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x003b5c90
LEA ECX,[EBP + 0xfffffea4]
LEA EBX,[EBP + 0xfffffeac]
MOV dword ptr [EBP + 0xfffffea8],0x0
MOV dword ptr [ESP],ECX
LEA EDX,[EBP + 0xfffffec4]
PUSH dword ptr [EBP + 0xfffffe8c]
PUSH dword ptr [EBP + 0xfffffe88]
PUSH dword ptr [EDI + 0x18]
PUSH dword ptr [EDI + 0x8]
MOV dword ptr [EBP + 0xfffffe80],ECX
MOV dword ptr [EBP + 0xfffffe90],EBX
MOV dword ptr [EBP + 0xfffffea4],EBX
MOV byte ptr [EBP + 0xfffffeac],0x0
MOV dword ptr [EBP + 0xfffffe84],EDX
MOV dword ptr [EBP + 0xfffffebc],EDX
MOV dword ptr [EBP + 0xfffffec0],0x0
MOV byte ptr [EBP + 0xfffffec4],0x0
CALL 0x00298cf0
ADD ESP,0x20
TEST AL,AL
JZ 0x002a6da8
MOV EBX,dword ptr [EBP + 0xfffffea8]
TEST EBX,EBX
JNZ 0x002a6d70
MOV EAX,dword ptr [EBP + 0x8]
CMP dword ptr [EAX + 0x4],0x7fffffff
JZ 0x002a6e85
SUB ESP,0x4
LEA EAX,[ESI + 0xffea4596]
MOV EBX,ESI
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7890
ADD ESP,0x10
CMP dword ptr [EBP + 0xfffffed4],0x2
JZ 0x002a6e50
SUB ESP,0x4
PUSH dword ptr [EBP + 0xfffffec0]
MOV EBX,ESI
PUSH dword ptr [EBP + 0xfffffebc]
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7890
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffebc]
CMP EAX,dword ptr [EBP + 0xfffffe84]
JZ 0x002a6bbc
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffea4]
CMP EAX,dword ptr [EBP + 0xfffffe90]
JZ 0x002a6bd8
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA EAX,[ESI + 0xffffbb78]
MOV dword ptr [EBP + 0xffffff3c],EAX
MOV EAX,dword ptr [EBP + -0x7c]
TEST EAX,EAX
JZ 0x002a6bf9
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x003ae020
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBP + -0x34]
PUSH EAX
CALL 0x0029b5b0
POP EAX
LEA EAX,[EBP + -0x4c]
POP EDX
PUSH dword ptr [EBP + -0x44]
PUSH EAX
CALL 0x002a5000
MOV EAX,dword ptr [EBP + -0x58]
MOV EDI,dword ptr [EBP + -0x5c]
ADD ESP,0x10
CMP EAX,EDI
JZ 0x002a6c9d
MOV dword ptr [EBP + 0xfffffe90],EAX
MOV dword ptr [EBP + 0xfffffe94],EDI
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xfffffe94]
MOV EDX,dword ptr [EAX + 0x4]
MOV EDI,dword ptr [EAX]
CMP EDX,EDI
JZ 0x002a6c73
MOV dword ptr [EBP + 0xfffffe88],EDX
LEA ESI,[ESI]
MOV EAX,dword ptr [EDI + 0x4]
LEA EDX,[EDI + 0xc]
CMP EAX,EDX
JZ 0x002a6c60
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
ADD EDI,0x1c
CMP dword ptr [EBP + 0xfffffe88],EDI
JNZ 0x002a6c48
MOV EAX,dword ptr [EBP + 0xfffffe94]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x002a6c85
SUB ESP,0xc
MOV EBX,ESI
PUSH EDI
CALL 0x003ae080
ADD ESP,0x10
ADD dword ptr [EBP + 0xfffffe94],0xc
MOV EAX,dword ptr [EBP + 0xfffffe94]
CMP dword ptr [EBP + 0xfffffe90],EAX
JNZ 0x002a6c30
MOV EDI,dword ptr [EBP + -0x5c]
TEST EDI,EDI
JZ 0x002a6caf
SUB ESP,0xc
MOV EBX,ESI
PUSH EDI
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x64]
MOV EDI,dword ptr [EBP + -0x68]
CMP EAX,EDI
JZ 0x002a6d34
MOV dword ptr [EBP + 0xfffffe90],EAX
MOV dword ptr [EBP + 0xfffffe94],EDI
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xfffffe94]
MOV EDX,dword ptr [EAX + 0x4]
MOV EDI,dword ptr [EAX]
CMP EDX,EDI
JZ 0x002a6d0a
MOV dword ptr [EBP + 0xfffffe88],EDX
LEA ESI,[ESI]
MOV EAX,dword ptr [EDI]
LEA EDX,[EDI + 0x8]
CMP EAX,EDX
JZ 0x002a6cf7
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
ADD EDI,0x18
CMP dword ptr [EBP + 0xfffffe88],EDI
JNZ 0x002a6ce0
MOV EAX,dword ptr [EBP + 0xfffffe94]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x002a6d1c
SUB ESP,0xc
MOV EBX,ESI
PUSH EDI
CALL 0x003ae080
ADD ESP,0x10
ADD dword ptr [EBP + 0xfffffe94],0xc
MOV EAX,dword ptr [EBP + 0xfffffe94]
CMP dword ptr [EBP + 0xfffffe90],EAX
JNZ 0x002a6cc8
MOV EDI,dword ptr [EBP + -0x68]
TEST EDI,EDI
JZ 0x002a6d46
SUB ESP,0xc
MOV EBX,ESI
PUSH EDI
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff6c]
TEST EAX,EAX
JZ 0x002a6d5e
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET 0x4
SUB ESP,0x8
LEA EAX,[ESI + 0xffea4596]
MOV EBX,ESI
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7a40
ADD ESP,0xc
PUSH dword ptr [EBP + 0xfffffea8]
PUSH dword ptr [EBP + 0xfffffea4]
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7890
ADD ESP,0x10
JMP 0x002a6b4e
SUB ESP,0x8
LEA EAX,[ESI + 0xffeab2ac]
MOV EBX,ESI
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7a40
MOV EAX,dword ptr [EDI + 0x8]
LEA EBX,[ESI + 0xffb1cc40]
MOV ECX,dword ptr [EDI + 0x18]
ADD ESP,0x10
LEA EDI,[EBP + 0xfffffed8]
MOV EDX,dword ptr [EAX]
MOV EDX,dword ptr [EDX + 0x40]
CMP EDX,EBX
JNZ 0x002a6e78
SUB ESP,0x4
ADD EAX,0x90
PUSH ECX
PUSH EAX
PUSH EDI
CALL 0x00106aa0
ADD ESP,0xc
MOV EBX,ESI
SUB ESP,0x4
PUSH dword ptr [EBP + 0xfffffedc]
PUSH dword ptr [EBP + 0xfffffed8]
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7890
MOV EAX,dword ptr [EBP + 0xfffffed8]
LEA EDX,[EBP + 0xfffffee0]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x002a6e29
SUB ESP,0xc
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA EAX,[ESI + 0xffea1ec8]
PUSH dword ptr [EBP + 0xfffffe88]
MOV EBX,ESI
PUSH EAX
PUSH 0x64
PUSH EDI
CALL 0x00039980
POP ECX
POP EAX
PUSH EDI
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7a40
JMP 0x002a6b9d
SUB ESP,0xc
LEA EAX,[ESI + 0xffea1ebe]
PUSH EAX
CALL 0x00039440
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x003b7a40
ADD ESP,0x10
JMP 0x002a6b84
SUB ESP,0x4
PUSH ECX
PUSH EAX
PUSH EDI
CALL EDX
JMP 0x002a6dee
SUB ESP,0xc
LEA EAX,[ESI + 0xffe8206e]
MOV EBX,ESI
PUSH EAX
CALL 0x003f3a70
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nint FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */\n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}\n\n" comment (function_definition "int FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */\n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}" primitive_type (function_declarator "FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */\n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "undefined1 auStack_190 [12];" type_identifier (array_declarator "auStack_190 [12]" identifier [ number_literal ]) ;) (declaration "int **local_184;" primitive_type (pointer_declarator "**local_184" * (pointer_declarator "*local_184" * identifier)) ;) (declaration "undefined1 *local_180;" type_identifier (pointer_declarator "*local_180" * identifier) ;) (declaration "undefined **local_17c;" type_identifier (pointer_declarator "**local_17c" * (pointer_declarator "*local_17c" * identifier)) ;) (declaration "undefined4 local_178;" type_identifier identifier ;) (declaration "undefined ***local_174;" type_identifier (pointer_declarator "***local_174" * (pointer_declarator "**local_174" * (pointer_declarator "*local_174" * identifier))) ;) (declaration "undefined ***local_170;" type_identifier (pointer_declarator "***local_170" * (pointer_declarator "**local_170" * (pointer_declarator "*local_170" * identifier))) ;) (declaration "undefined ***local_160;" type_identifier (pointer_declarator "***local_160" * (pointer_declarator "**local_160" * (pointer_declarator "*local_160" * identifier))) ;) (declaration "int local_15c;" primitive_type identifier ;) (declaration "undefined1 local_158 [16];" type_identifier (array_declarator "local_158 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "undefined4 local_144;" type_identifier identifier ;) (declaration "undefined1 local_140 [16];" type_identifier (array_declarator "local_140 [16]" identifier [ number_literal ]) ;) (declaration "int local_130;" primitive_type identifier ;) (declaration "undefined1 *local_12c [2];" type_identifier (pointer_declarator "*local_12c [2]" * (array_declarator "local_12c [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_124 [92];" type_identifier (array_declarator "local_124 [92]" identifier [ number_literal ]) ;) (declaration "undefined **local_c8 [12];" type_identifier (pointer_declarator "**local_c8 [12]" * (pointer_declarator "*local_c8 [12]" * (array_declarator "local_c8 [12]" identifier [ number_literal ]))) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "undefined ***local_6c;" type_identifier (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier))) ;) (declaration "undefined ***local_68;" type_identifier (pointer_declarator "***local_68" * (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier))) ;) (declaration "undefined ***local_60;" type_identifier (pointer_declarator "***local_60" * (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier))) ;) (declaration "undefined ***local_5c;" type_identifier (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier))) ;) (declaration "undefined1 local_50 [8];" type_identifier (array_declarator "local_50 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined1 local_38 [40];" type_identifier (array_declarator "local_38 [40]" identifier [ number_literal ]) ;) (expression_statement "local_170 = local_c8;" (assignment_expression "local_170 = local_c8" identifier = identifier) ;) (expression_statement "local_17c = param_4;" (assignment_expression "local_17c = param_4" identifier = identifier) ;) (expression_statement "local_178 = param_5;" (assignment_expression "local_178 = param_5" identifier = identifier) ;) (expression_statement "FUN_0037f6b0();" (call_expression "FUN_0037f6b0()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_0037d850(param_1,local_170);" (call_expression "FUN_0037d850(param_1,local_170)" identifier (argument_list "(param_1,local_170)" ( identifier , identifier ))) ;) (expression_statement "puVar5 = (undefined4 *)auStack_190;" (assignment_expression "puVar5 = (undefined4 *)auStack_190" identifier = (cast_expression "(undefined4 *)auStack_190" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(param_1 + 4) == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }" { comment (expression_statement "FUN_003b5c90();" (call_expression "FUN_003b5c90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_184 = (int **)&local_160;" (assignment_expression "local_184 = (int **)&local_160" identifier = (cast_expression "(int **)&local_160" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_160" & identifier))) ;) (expression_statement "local_174 = (undefined ***)local_158;" (assignment_expression "local_174 = (undefined ***)local_158" identifier = (cast_expression "(undefined ***)local_158" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_15c = 0;" (assignment_expression "local_15c = 0" identifier = number_literal) ;) (expression_statement "local_180 = local_140;" (assignment_expression "local_180 = local_140" identifier = identifier) ;) (expression_statement "local_158[0] = 0;" (assignment_expression "local_158[0] = 0" (subscript_expression "local_158[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_144 = 0;" (assignment_expression "local_144 = 0" identifier = number_literal) ;) (expression_statement "local_140[0] = 0;" (assignment_expression "local_140[0] = 0" (subscript_expression "local_140[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_160 = local_174;" (assignment_expression "local_160 = local_174" identifier = identifier) ;) (expression_statement "local_148 = local_180;" (assignment_expression "local_148 = local_180" identifier = identifier) ;) comment (expression_statement "cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);" (assignment_expression "cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" identifier = (call_expression "FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" identifier (argument_list "(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" ( (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      FUN_003b7a40();\n    }" { (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);" (assignment_expression "pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40)" identifier = (pointer_expression "*(code **)(**(int **)(param_2 + 8) + 0x40)" * (cast_expression "(code **)(**(int **)(param_2 + 8) + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_2 + 8) + 0x40)" ( (binary_expression "**(int **)(param_2 + 8) + 0x40" (pointer_expression "**(int **)(param_2 + 8)" * (pointer_expression "*(int **)(param_2 + 8)" * (cast_expression "(int **)(param_2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }" if (parenthesized_expression "(pcVar1 == FUN_00106c40)" ( (binary_expression "pcVar1 == FUN_00106c40" identifier == identifier) )) (compound_statement "{\n        FUN_00106aa0();\n      }" { (expression_statement "FUN_00106aa0();" (call_expression "FUN_00106aa0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        (*pcVar1)();\n      }" else (compound_statement "{\n        (*pcVar1)();\n      }" { (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( ))) ;) }))) comment (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }" if (parenthesized_expression "(local_12c[0] != local_124)" ( (binary_expression "local_12c[0] != local_124" (subscript_expression "local_12c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        FUN_003ae080();\n      }" { (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "snprintf((char *)local_12c,100,"+0x%lx)");" (call_expression "snprintf((char *)local_12c,100,"+0x%lx)")" identifier (argument_list "((char *)local_12c,100,"+0x%lx)")" ( (cast_expression "(char *)local_12c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""+0x%lx)"" " string_content ") ))) ;) (expression_statement "puVar4 = (undefined4 *)&stack0xfffffe5c;" (assignment_expression "puVar4 = (undefined4 *)&stack0xfffffe5c" identifier = (cast_expression "(undefined4 *)&stack0xfffffe5c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe5c" & identifier))) ;) comment (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" else (compound_statement "{\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" { (if_statement "if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }" if (parenthesized_expression "(local_15c != 0)" ( (binary_expression "local_15c != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_003b7a40();\n        FUN_003b7890();\n      }" { (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0x7fffffff)" ( (binary_expression "*(int *)(param_1 + 4) == 0x7fffffff" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_003f3a70();\n      }" { comment (expression_statement "FUN_003f3a70();" (call_expression "FUN_003f3a70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }" if (parenthesized_expression "(local_130 == 2)" ( (binary_expression "local_130 == 2" identifier == number_literal) )) (compound_statement "{\n        gettext();\n        FUN_003b7a40();\n      }" { (expression_statement "gettext();" (call_expression "gettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar4 = (undefined4 *)&stack0xfffffe60;" (assignment_expression "puVar4 = (undefined4 *)&stack0xfffffe60" identifier = (cast_expression "(undefined4 *)&stack0xfffffe60" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe60" & identifier))) ;) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_148 != local_180)" ( (binary_expression "local_148 != local_180" identifier != identifier) )) (compound_statement "{\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }" { (expression_statement "*puVar4 = local_148;" (assignment_expression "*puVar4 = local_148" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[-1] = 0x2a6bb9;" (assignment_expression "puVar4[-1] = 0x2a6bb9" (subscript_expression "puVar4[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" identifier = (binary_expression "puVar4 + 4" identifier + number_literal)) ;) (if_statement "if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }" if (parenthesized_expression "(local_160 != local_174)" ( (binary_expression "local_160 != local_174" identifier != identifier) )) (compound_statement "{\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }" { (expression_statement "*puVar4 = local_160;" (assignment_expression "*puVar4 = local_160" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[-1] = 0x2a6bd5;" (assignment_expression "puVar4[-1] = 0x2a6bd5" (subscript_expression "puVar4[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" identifier = (binary_expression "puVar4 + 4" identifier + number_literal)) ;) })) })) (expression_statement "local_c8[0] = &PTR_FUN_005e5b78;" (assignment_expression "local_c8[0] = &PTR_FUN_005e5b78" (subscript_expression "local_c8[0]" identifier [ number_literal ]) = (pointer_expression "&PTR_FUN_005e5b78" & identifier)) ;) (expression_statement "ppuVar6 = &PTR_FUN_005e5b78;" (assignment_expression "ppuVar6 = &PTR_FUN_005e5b78" identifier = (pointer_expression "&PTR_FUN_005e5b78" & identifier)) ;) (if_statement "if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }" if (parenthesized_expression "(local_80 != 0)" ( (binary_expression "local_80 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }" { (expression_statement "*(int *)((int)puVar5 + -0x10) = local_80;" (assignment_expression "*(int *)((int)puVar5 + -0x10) = local_80" (pointer_expression "*(int *)((int)puVar5 + -0x10)" * (cast_expression "(int *)((int)puVar5 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae020();" (call_expression "FUN_003ae020()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar6 = local_c8[0];" (assignment_expression "ppuVar6 = local_c8[0]" identifier = (subscript_expression "local_c8[0]" identifier [ number_literal ])) ;) })) (expression_statement "local_c8[0] = ppuVar6;" (assignment_expression "local_c8[0] = ppuVar6" (subscript_expression "local_c8[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 **)((int)puVar5 + -0x10) = local_38;" (assignment_expression "*(undefined1 **)((int)puVar5 + -0x10) = local_38" (pointer_expression "*(undefined1 **)((int)puVar5 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0029b5b0();" (call_expression "FUN_0029b5b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0xc) = local_48;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0xc) = local_48" (pointer_expression "*(undefined4 *)((int)puVar5 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar5 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0xc)" ( (binary_expression "(int)puVar5 + -0xc" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)puVar5 + -0x10) = local_50;" (assignment_expression "*(undefined1 **)((int)puVar5 + -0x10) = local_50" (pointer_expression "*(undefined1 **)((int)puVar5 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002a5000();" (call_expression "FUN_002a5000()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" if (parenthesized_expression "(local_5c != local_60)" ( (binary_expression "local_5c != local_60" identifier != identifier) )) (compound_statement "{\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" { (expression_statement "local_174 = local_5c;" (assignment_expression "local_174 = local_5c" identifier = identifier) ;) (expression_statement "local_170 = local_60;" (assignment_expression "local_170 = local_60" identifier = identifier) ;) (do_statement "do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);" do (compound_statement "{\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    }" { (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) (expression_statement "ppuVar2 = local_170[1];" (assignment_expression "ppuVar2 = local_170[1]" identifier = (subscript_expression "local_170[1]" identifier [ number_literal ])) ;) (if_statement "if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" if (parenthesized_expression "(local_170[1] != ppuVar6)" ( (binary_expression "local_170[1] != ppuVar6" (subscript_expression "local_170[1]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" { (do_statement "do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);" do (compound_statement "{\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        }" { (expression_statement "local_17c = ppuVar2;" (assignment_expression "local_17c = ppuVar2" identifier = identifier) ;) (if_statement "if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }" if (parenthesized_expression "((undefined **)ppuVar6[1] != ppuVar6 + 3)" ( (binary_expression "(undefined **)ppuVar6[1] != ppuVar6 + 3" (cast_expression "(undefined **)ppuVar6[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar6[1]" identifier [ number_literal ])) != (binary_expression "ppuVar6 + 3" identifier + number_literal)) )) (compound_statement "{\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }" { (expression_statement "*(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];" (assignment_expression "*(undefined **)((int)puVar5 + -0x10) = ppuVar6[1]" (pointer_expression "*(undefined **)((int)puVar5 + -0x10)" * (cast_expression "(undefined **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "ppuVar6[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar6 = ppuVar6 + 7;" (assignment_expression "ppuVar6 = ppuVar6 + 7" identifier = (binary_expression "ppuVar6 + 7" identifier + number_literal)) ;) (expression_statement "ppuVar2 = local_17c;" (assignment_expression "ppuVar2 = local_17c" identifier = identifier) ;) }) while (parenthesized_expression "(local_17c != ppuVar6)" ( (binary_expression "local_17c != ppuVar6" identifier != identifier) )) ;) (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) })) (if_statement "if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }" if (parenthesized_expression "(ppuVar6 != (undefined **)0x0)" ( (binary_expression "ppuVar6 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }" { (expression_statement "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6;" (assignment_expression "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6" (pointer_expression "*(undefined ***)((int)puVar5 + -0x10)" * (cast_expression "(undefined ***)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_170 = local_170 + 3;" (assignment_expression "local_170 = local_170 + 3" identifier = (binary_expression "local_170 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_174 != local_170)" ( (binary_expression "local_174 != local_170" identifier != identifier) )) ;) })) (if_statement "if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_60 != (undefined ***)0x0)" ( (binary_expression "local_60 != (undefined ***)0x0" identifier != (cast_expression "(undefined ***)0x0" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }" { (expression_statement "*(undefined ****)((int)puVar5 + -0x10) = local_60;" (assignment_expression "*(undefined ****)((int)puVar5 + -0x10) = local_60" (pointer_expression "*(undefined ****)((int)puVar5 + -0x10)" * (cast_expression "(undefined ****)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" if (parenthesized_expression "(local_68 != local_6c)" ( (binary_expression "local_68 != local_6c" identifier != identifier) )) (compound_statement "{\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" { (expression_statement "local_174 = local_68;" (assignment_expression "local_174 = local_68" identifier = identifier) ;) (expression_statement "local_170 = local_6c;" (assignment_expression "local_170 = local_6c" identifier = identifier) ;) (do_statement "do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);" do (compound_statement "{\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    }" { (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) (expression_statement "ppuVar2 = local_170[1];" (assignment_expression "ppuVar2 = local_170[1]" identifier = (subscript_expression "local_170[1]" identifier [ number_literal ])) ;) (if_statement "if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" if (parenthesized_expression "(local_170[1] != ppuVar6)" ( (binary_expression "local_170[1] != ppuVar6" (subscript_expression "local_170[1]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" { (do_statement "do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);" do (compound_statement "{\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        }" { (expression_statement "local_17c = ppuVar2;" (assignment_expression "local_17c = ppuVar2" identifier = identifier) ;) (if_statement "if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }" if (parenthesized_expression "((undefined **)*ppuVar6 != ppuVar6 + 2)" ( (binary_expression "(undefined **)*ppuVar6 != ppuVar6 + 2" (cast_expression "(undefined **)*ppuVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar6" * identifier)) != (binary_expression "ppuVar6 + 2" identifier + number_literal)) )) (compound_statement "{\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }" { (expression_statement "*(undefined **)((int)puVar5 + -0x10) = *ppuVar6;" (assignment_expression "*(undefined **)((int)puVar5 + -0x10) = *ppuVar6" (pointer_expression "*(undefined **)((int)puVar5 + -0x10)" * (cast_expression "(undefined **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*ppuVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar6 = ppuVar6 + 6;" (assignment_expression "ppuVar6 = ppuVar6 + 6" identifier = (binary_expression "ppuVar6 + 6" identifier + number_literal)) ;) (expression_statement "ppuVar2 = local_17c;" (assignment_expression "ppuVar2 = local_17c" identifier = identifier) ;) }) while (parenthesized_expression "(local_17c != ppuVar6)" ( (binary_expression "local_17c != ppuVar6" identifier != identifier) )) ;) (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) })) (if_statement "if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }" if (parenthesized_expression "(ppuVar6 != (undefined **)0x0)" ( (binary_expression "ppuVar6 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }" { (expression_statement "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6;" (assignment_expression "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6" (pointer_expression "*(undefined ***)((int)puVar5 + -0x10)" * (cast_expression "(undefined ***)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_170 = local_170 + 3;" (assignment_expression "local_170 = local_170 + 3" identifier = (binary_expression "local_170 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_174 != local_170)" ( (binary_expression "local_174 != local_170" identifier != identifier) )) ;) })) (if_statement "if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_6c != (undefined ***)0x0)" ( (binary_expression "local_6c != (undefined ***)0x0" identifier != (cast_expression "(undefined ***)0x0" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }" { (expression_statement "*(undefined ****)((int)puVar5 + -0x10) = local_6c;" (assignment_expression "*(undefined ****)((int)puVar5 + -0x10) = local_6c" (pointer_expression "*(undefined ****)((int)puVar5 + -0x10)" * (cast_expression "(undefined ****)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }" { (expression_statement "*(int *)((int)puVar5 + -0x10) = local_98;" (assignment_expression "*(int *)((int)puVar5 + -0x10) = local_98" (pointer_expression "*(int *)((int)puVar5 + -0x10)" * (cast_expression "(int *)((int)puVar5 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Enum "STT": Some values do not have unique names */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: string location(Relocate_info<64,_false> * this, size_t param_1, off_t\n   offset) */\n\nstring * __thiscall\ngold::Relocate_info<64,_false>::location\n          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )\n\n{\n  _func_int_varargs *p_Var1;\n  off_t oVar2;\n  Dwarf_line_info DVar3;\n  bool bVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  _func_int_varargs **pp_Var7;\n  string *ret;\n  undefined1 auStack_18c [8];\n  Symbol_location_info *local_184;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_180;\n  undefined8 local_17c;\n  Sized_dwarf_line_info<64,_false> *local_174;\n  Sized_dwarf_line_info<64,_false> *local_170;\n  Symbol_location_info info;\n  char buf [100];\n  Sized_dwarf_line_info<64,_false> line_info;\n  \n  local_170 = &line_info;\n  local_17c = offset;\n  Sized_dwarf_line_info<64,_false>::Sized_dwarf_line_info\n            (local_170,(Object *)this->object,0xffffffff);\n                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */\n  Sized_dwarf_line_info<64,_false>::do_addr2line\n            (ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78;\n  DVar3._vptr_Dwarf_line_info = (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78;\n  if (line_info.buffer_start_ != (uchar *)0x0) {\n    *(uchar **)((int)puVar6 + -0x10) = line_info.buffer_start_;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6bf6;\n    operator_delete__(*(void **)((int)puVar6 + -0x10));\n    DVar3 = line_info.super_Dwarf_line_info;\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info = DVar3._vptr_Dwarf_line_info;\n  *(Lineno_map **)((int)puVar6 + -0x10) = &line_info.line_number_map_;\n  *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c05;\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_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<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));\n  *(_Base_ptr *)((int)puVar6 + -0xc) =\n       line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n  *(Reloc_map **)((int)puVar6 + -0x10) = &line_info.reloc_map_;\n  *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c13;\n  std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n  ::_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc));\n  if (line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start) {\n    local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);\n  }\n  if (line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n         ._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cac;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }\n  if (line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_start) {\n    local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);\n  }\n  if (line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n         ._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d43;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }\n  if (line_info.header_.std_opcode_lengths.\n      super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start !=\n      (pointer)0x0) {\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d5b;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }\n  return ret;\n}\n\n" comment comment comment comment (expression_statement "string * __thiscall\ngold::Relocate_info<64,_false>::location\n          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )\n\n{\n  _func_int_varargs *p_Var1;" (update_expression "string * __thiscall\ngold::Relocate_info<64,_false>::location\n          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )\n\n{\n  _func_int_varargs *p_Var1" (binary_expression "string * __thiscall\ngold::Relocate_info<64,_false>::location\n          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )\n\n{\n  _func_int_varargs *p_Var1" (binary_expression "string * __thiscall\ngold::Relocate_info<64" (binary_expression "string * __thiscall" identifier * identifier) (ERROR "gold::Relocate_info" identifier : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::location\n          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )\n\n{" : : (call_expression "location\n          (string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )" identifier (argument_list "(string *__return_storage_ptr__,Relocate_info<64,_false> *this,size_t param_1,off_t offset\n          )" ( (binary_expression "string *__return_storage_ptr__" identifier * identifier) , (binary_expression "Relocate_info<64" identifier < number_literal) , (binary_expression "_false> *this" identifier > (pointer_expression "*this" * identifier)) , (ERROR "size_t" identifier) identifier , (ERROR "off_t" identifier) identifier ))) {) (binary_expression "_func_int_varargs *p_Var1" identifier * identifier)) --) ;) (declaration "off_t oVar2;" type_identifier identifier ;) (declaration "Dwarf_line_info DVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "_func_int_varargs **pp_Var7;" type_identifier (pointer_declarator "**pp_Var7" * (pointer_declarator "*pp_Var7" * identifier)) ;) (declaration "string *ret;" type_identifier (pointer_declarator "*ret" * identifier) ;) (declaration "undefined1 auStack_18c [8];" type_identifier (array_declarator "auStack_18c [8]" identifier [ number_literal ]) ;) (declaration "Symbol_location_info *local_184;" type_identifier (pointer_declarator "*local_184" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_180;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *local_180;" (binary_expression "allocator<char>_>_9\n  *local_180" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_180" identifier * identifier)) ;)) (declaration "undefined8 local_17c;" type_identifier identifier ;) (expression_statement "Sized_dwarf_line_info<64,_false> *local_174;" (update_expression "Sized_dwarf_line_info<64,_false> *local_174" (binary_expression "Sized_dwarf_line_info<64,_false> *local_174" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_174" * identifier)) --) ;) (expression_statement "Sized_dwarf_line_info<64,_false> *local_170;" (update_expression "Sized_dwarf_line_info<64,_false> *local_170" (binary_expression "Sized_dwarf_line_info<64,_false> *local_170" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_170" * identifier)) --) ;) (declaration "Symbol_location_info info;" type_identifier identifier ;) (declaration "char buf [100];" primitive_type (array_declarator "buf [100]" identifier [ number_literal ]) ;) (expression_statement "Sized_dwarf_line_info<64,_false> line_info;" (update_expression "Sized_dwarf_line_info<64,_false> line_info" (binary_expression "Sized_dwarf_line_info<64,_false> line_info" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > identifier) --) ;) (expression_statement "local_170 = &line_info;" (assignment_expression "local_170 = &line_info" identifier = (pointer_expression "&line_info" & identifier)) ;) (expression_statement "local_17c = offset;" (assignment_expression "local_17c = offset" identifier = identifier) ;) (expression_statement "Sized_dwarf_line_info<64,_false>::Sized_dwarf_line_info\n            (local_170,(Object *)this->object,0xffffffff);" (update_expression "Sized_dwarf_line_info<64,_false>::Sized_dwarf_line_info\n            (local_170,(Object *)this->object,0xffffffff)" (binary_expression "Sized_dwarf_line_info<64,_false>::Sized_dwarf_line_info\n            (local_170,(Object *)this->object,0xffffffff)" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) (call_expression "Sized_dwarf_line_info\n            (local_170,(Object *)this->object,0xffffffff)" identifier (argument_list "(local_170,(Object *)this->object,0xffffffff)" ( identifier , (cast_expression "(Object *)this->object" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this->object" identifier -> field_identifier)) , number_literal )))) --) ;) comment (expression_statement "Sized_dwarf_line_info<64,_false>::do_addr2line\n            (ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78;" (update_expression "Sized_dwarf_line_info<64,_false>::do_addr2line\n            (ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78" (binary_expression "Sized_dwarf_line_info<64,_false>::do_addr2line\n            (ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78" (binary_expression "Sized_dwarf_line_info<64,_false>::do_addr2line\n            (ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) (call_expression "do_addr2line\n            (ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)" identifier (argument_list "(ret,local_170,this->data_shndx,local_17c,\n             (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0) {\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }\n  line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **)" ( identifier , identifier , (field_expression "this->data_shndx" identifier -> field_identifier) , identifier , (ERROR "(vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0);\n  puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0)" (parenthesized_expression "(vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              *)0x0)" ( (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>\n              *)0x0" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )) ; (call_expression "puVar6 = (undefined4 *)auStack_18c;\n  if (ret->_M_string_length == 0)" (assignment_expression "puVar6 = (undefined4 *)auStack_18c" identifier = (cast_expression "(undefined4 *)auStack_18c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR ";\n  if" ; if) (argument_list "(ret->_M_string_length == 0)" ( (binary_expression "ret->_M_string_length == 0" (field_expression "ret->_M_string_length" identifier -> field_identifier) == number_literal) )))) (compound_statement "{\n                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */\n    std::string::_M_assign((string *)ret);\n    local_184 = &info;\n    local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;\n    info.source_file._M_string_length = 0;\n    local_180 = &info.enclosing_symbol_name.field_2;\n    info.source_file.field_2._M_local_buf[0] = '\0';\n    info.enclosing_symbol_name._M_string_length = 0;\n    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';\n    info.source_file._M_dataplus._M_p = (pointer)local_174;\n    info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;\n                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */\n    bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);\n    if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }\n    puVar6 = puVar5 + 4;\n    if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }\n  }" { comment (labeled_statement "std::string::_M_assign((string *)ret);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_assign((string *)ret);" statement_identifier : (ERROR ":" :) (expression_statement "_M_assign((string *)ret);" (call_expression "_M_assign((string *)ret)" identifier (argument_list "((string *)ret)" ( (cast_expression "(string *)ret" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) (expression_statement "local_184 = &info;" (assignment_expression "local_184 = &info" identifier = (pointer_expression "&info" & identifier)) ;) (expression_statement "local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2;" (assignment_expression "local_174 = (Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2" identifier = (binary_expression "(Sized_dwarf_line_info<64,_false> *)&info.source_file.field_2" (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)" ( (comma_expression "Sized_dwarf_line_info<64,_false> *" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & (field_expression "info.source_file.field_2" (field_expression "info.source_file" identifier . field_identifier) . field_identifier))) ;) (expression_statement "info.source_file._M_string_length = 0;" (assignment_expression "info.source_file._M_string_length = 0" (field_expression "info.source_file._M_string_length" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_180 = &info.enclosing_symbol_name.field_2;" (assignment_expression "local_180 = &info.enclosing_symbol_name.field_2" identifier = (pointer_expression "&info.enclosing_symbol_name.field_2" & (field_expression "info.enclosing_symbol_name.field_2" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier))) ;) (expression_statement "info.source_file.field_2._M_local_buf[0] = '\0';" (assignment_expression "info.source_file.field_2._M_local_buf[0] = '\0'" (subscript_expression "info.source_file.field_2._M_local_buf[0]" (field_expression "info.source_file.field_2._M_local_buf" (field_expression "info.source_file.field_2" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "info.enclosing_symbol_name._M_string_length = 0;" (assignment_expression "info.enclosing_symbol_name._M_string_length = 0" (field_expression "info.enclosing_symbol_name._M_string_length" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';" (assignment_expression "info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0'" (subscript_expression "info.enclosing_symbol_name.field_2._M_local_buf[0]" (field_expression "info.enclosing_symbol_name.field_2._M_local_buf" (field_expression "info.enclosing_symbol_name.field_2" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "info.source_file._M_dataplus._M_p = (pointer)local_174;" (assignment_expression "info.source_file._M_dataplus._M_p = (pointer)local_174" (field_expression "info.source_file._M_dataplus._M_p" (field_expression "info.source_file._M_dataplus" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)local_174" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180;" (assignment_expression "info.enclosing_symbol_name._M_dataplus._M_p = (pointer)local_180" (field_expression "info.enclosing_symbol_name._M_dataplus._M_p" (field_expression "info.enclosing_symbol_name._M_dataplus" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)local_180" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) comment (expression_statement "bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184);" (comma_expression "bVar4 = Sized_relobj_file<64,_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184)" (assignment_expression "bVar4 = Sized_relobj_file<64" identifier = (binary_expression "Sized_relobj_file<64" identifier < number_literal)) , (binary_expression "_false>::get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184)" identifier > (ERROR "::" : :) (call_expression "get_symbol_location_info\n                      (this->object,this->data_shndx,local_17c,local_184)" identifier (argument_list "(this->object,this->data_shndx,local_17c,local_184)" ( (field_expression "this->object" identifier -> field_identifier) , (field_expression "this->data_shndx" identifier -> field_identifier) , identifier , identifier ))))) ;) (if_statement "if (bVar4) {\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }\n    else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }\n      if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }\n      std::string::_M_append((char *)ret,0x48e596);\n      if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }\n      puVar5 = (undefined4 *)&stack0xfffffe64;\n      std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);\n    }" { (if_statement "if (info.source_file._M_string_length != 0) {\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }" if (parenthesized_expression "(info.source_file._M_string_length != 0)" ( (binary_expression "info.source_file._M_string_length != 0" (field_expression "info.source_file._M_string_length" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n        std::string::append((char *)ret);\n        std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);\n      }" { (labeled_statement "std::string::append((char *)ret);" statement_identifier : (ERROR ":" :) (labeled_statement "string::append((char *)ret);" statement_identifier : (ERROR ":" :) (expression_statement "append((char *)ret);" (call_expression "append((char *)ret)" identifier (argument_list "((char *)ret)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) (labeled_statement "std::string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p);" (call_expression "_M_append((char *)ret,(uint)info.source_file._M_dataplus._M_p)" identifier (argument_list "((char *)ret,(uint)info.source_file._M_dataplus._M_p)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)info.source_file._M_dataplus._M_p" ( (type_descriptor "uint" type_identifier) ) (field_expression "info.source_file._M_dataplus._M_p" (field_expression "info.source_file._M_dataplus" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) . field_identifier)) ))) ;))) })) (if_statement "if (ret->_M_string_length == 0x7fffffff) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }" if (parenthesized_expression "(ret->_M_string_length == 0x7fffffff)" ( (binary_expression "ret->_M_string_length == 0x7fffffff" (field_expression "ret->_M_string_length" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        std::__throw_length_error("basic_string::append");\n      }" { comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) (labeled_statement "std::string::_M_append((char *)ret,0x48e596);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((char *)ret,0x48e596);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((char *)ret,0x48e596);" (call_expression "_M_append((char *)ret,0x48e596)" identifier (argument_list "((char *)ret,0x48e596)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;))) (if_statement "if (info.enclosing_symbol_type == STT_FUNC) {\n        gettext();\n        std::string::append((char *)ret);\n      }" if (parenthesized_expression "(info.enclosing_symbol_type == STT_FUNC)" ( (binary_expression "info.enclosing_symbol_type == STT_FUNC" (field_expression "info.enclosing_symbol_type" identifier . field_identifier) == identifier) )) (compound_statement "{\n        gettext();\n        std::string::append((char *)ret);\n      }" { (expression_statement "gettext();" (call_expression "gettext()" identifier (argument_list "()" ( ))) ;) (labeled_statement "std::string::append((char *)ret);" statement_identifier : (ERROR ":" :) (labeled_statement "string::append((char *)ret);" statement_identifier : (ERROR ":" :) (expression_statement "append((char *)ret);" (call_expression "append((char *)ret)" identifier (argument_list "((char *)ret)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) })) (expression_statement "puVar5 = (undefined4 *)&stack0xfffffe64;" (assignment_expression "puVar5 = (undefined4 *)&stack0xfffffe64" identifier = (cast_expression "(undefined4 *)&stack0xfffffe64" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe64" & identifier))) ;) (labeled_statement "std::string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p);" (call_expression "_M_append((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p)" identifier (argument_list "((char *)ret,(uint)info.enclosing_symbol_name._M_dataplus._M_p)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)info.enclosing_symbol_name._M_dataplus._M_p" ( (type_descriptor "uint" type_identifier) ) (field_expression "info.enclosing_symbol_name._M_dataplus._M_p" (field_expression "info.enclosing_symbol_name._M_dataplus" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier) . field_identifier)) ))) ;))) }) (else_clause "else {\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }" else (compound_statement "{\n      std::string::append((char *)ret);\n      p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];\n      if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }\n                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */\n      std::string::_M_append((char *)ret,buf._0_4_);\n      if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }\n      snprintf(buf,100,"+0x%lx)");\n      puVar5 = (undefined4 *)&stack0xfffffe60;\n                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */\n      std::string::append((char *)ret);\n    }" { (labeled_statement "std::string::append((char *)ret);" statement_identifier : (ERROR ":" :) (labeled_statement "string::append((char *)ret);" statement_identifier : (ERROR ":" :) (expression_statement "append((char *)ret);" (call_expression "append((char *)ret)" identifier (argument_list "((char *)ret)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) (expression_statement "p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10];" (assignment_expression "p_Var1 = (this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10]" identifier = (subscript_expression "(this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n               [0x10]" (field_expression "(this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->object->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->object->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->object->super_Sized_relobj<64,_false>)" ( (comma_expression "this->object->super_Sized_relobj<64,_false" (binary_expression "this->object->super_Sized_relobj<64" (field_expression "this->object->super_Sized_relobj" (field_expression "this->object" identifier -> field_identifier) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var1 == Sized_relobj_file<64,_false>::do_section_name) {\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }\n      else {\n        (*p_Var1)();\n      }" if (parenthesized_expression "(p_Var1 == Sized_relobj_file<64,_false>::do_section_name)" ( (comma_expression "p_Var1 == Sized_relobj_file<64,_false>::do_section_name" (binary_expression "p_Var1 == Sized_relobj_file<64" identifier == (binary_expression "Sized_relobj_file<64" identifier < number_literal)) , (binary_expression "_false>::do_section_name" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n        elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);\n      }" { (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                  (&this->object->elf_file_,this->data_shndx);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Object>:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_name\n                  (&this->object->elf_file_,this->data_shndx);" (call_expression "section_name\n                  (&this->object->elf_file_,this->data_shndx)" identifier (argument_list "(&this->object->elf_file_,this->data_shndx)" ( (pointer_expression "&this->object->elf_file_" & (field_expression "this->object->elf_file_" (field_expression "this->object" identifier -> field_identifier) -> field_identifier)) , (field_expression "this->data_shndx" identifier -> field_identifier) ))) ;)) }) (else_clause "else {\n        (*p_Var1)();\n      }" else (compound_statement "{\n        (*p_Var1)();\n      }" { (expression_statement "(*p_Var1)();" (call_expression "(*p_Var1)()" (parenthesized_expression "(*p_Var1)" ( (pointer_expression "*p_Var1" * identifier) )) (argument_list "()" ( ))) ;) }))) comment (labeled_statement "std::string::_M_append((char *)ret,buf._0_4_);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((char *)ret,buf._0_4_);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((char *)ret,buf._0_4_);" (call_expression "_M_append((char *)ret,buf._0_4_)" identifier (argument_list "((char *)ret,buf._0_4_)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "buf._0_4_" identifier . field_identifier) ))) ;))) (if_statement "if ((char *)buf._0_4_ != buf + 8) {\n        operator_delete((void *)buf._0_4_);\n      }" if (parenthesized_expression "((char *)buf._0_4_ != buf + 8)" ( (binary_expression "(char *)buf._0_4_ != buf + 8" (cast_expression "(char *)buf._0_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "buf._0_4_" identifier . field_identifier)) != (binary_expression "buf + 8" identifier + number_literal)) )) (compound_statement "{\n        operator_delete((void *)buf._0_4_);\n      }" { (expression_statement "operator_delete((void *)buf._0_4_);" (call_expression "operator_delete((void *)buf._0_4_)" identifier (argument_list "((void *)buf._0_4_)" ( (cast_expression "(void *)buf._0_4_" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "buf._0_4_" identifier . field_identifier)) ))) ;) })) (expression_statement "snprintf(buf,100,"+0x%lx)");" (call_expression "snprintf(buf,100,"+0x%lx)")" identifier (argument_list "(buf,100,"+0x%lx)")" ( identifier , number_literal , (string_literal ""+0x%lx)"" " string_content ") ))) ;) (expression_statement "puVar5 = (undefined4 *)&stack0xfffffe60;" (assignment_expression "puVar5 = (undefined4 *)&stack0xfffffe60" identifier = (cast_expression "(undefined4 *)&stack0xfffffe60" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe60" & identifier))) ;) comment (labeled_statement "std::string::append((char *)ret);" statement_identifier : (ERROR ":" :) (labeled_statement "string::append((char *)ret);" statement_identifier : (ERROR ":" :) (expression_statement "append((char *)ret);" (call_expression "append((char *)ret)" identifier (argument_list "((char *)ret)" ( (cast_expression "(char *)ret" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180) {\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p != local_180" (binary_expression "allocator<char>_>_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)info.enclosing_symbol_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "info.enclosing_symbol_name._M_dataplus._M_p" (field_expression "info.enclosing_symbol_name._M_dataplus" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n      *puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bb9;\n      operator_delete((void *)*puVar5);\n    }" { (expression_statement "*puVar5 = info.enclosing_symbol_name._M_dataplus._M_p;" (assignment_expression "*puVar5 = info.enclosing_symbol_name._M_dataplus._M_p" (pointer_expression "*puVar5" * identifier) = (field_expression "info.enclosing_symbol_name._M_dataplus._M_p" (field_expression "info.enclosing_symbol_name._M_dataplus" (field_expression "info.enclosing_symbol_name" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "puVar5[-1] = 0x2a6bb9;" (assignment_expression "puVar5[-1] = 0x2a6bb9" (subscript_expression "puVar5[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "operator_delete((void *)*puVar5);" (call_expression "operator_delete((void *)*puVar5)" identifier (argument_list "((void *)*puVar5)" ( (cast_expression "(void *)*puVar5" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier)) ))) ;) })) (expression_statement "puVar6 = puVar5 + 4;" (assignment_expression "puVar6 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) (if_statement "if ((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174) {\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }" if (parenthesized_expression "((Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174)" ( (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174)" ( (comma_expression "Sized_dwarf_line_info<64,_false> *)info.source_file._M_dataplus._M_p != local_174" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *)info.source_file._M_dataplus._M_p != local_174" (binary_expression "_false> *)info.source_file._M_dataplus._M_p" identifier > (pointer_expression "*)info.source_file._M_dataplus._M_p" * (ERROR ")" )) (field_expression "info.source_file._M_dataplus._M_p" (field_expression "info.source_file._M_dataplus" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier)) )) )) (compound_statement "{\n      *puVar5 = info.source_file._M_dataplus._M_p;\n      puVar5[-1] = 0x2a6bd5;\n      operator_delete((void *)*puVar5);\n      puVar6 = puVar5 + 4;\n    }" { (expression_statement "*puVar5 = info.source_file._M_dataplus._M_p;" (assignment_expression "*puVar5 = info.source_file._M_dataplus._M_p" (pointer_expression "*puVar5" * identifier) = (field_expression "info.source_file._M_dataplus._M_p" (field_expression "info.source_file._M_dataplus" (field_expression "info.source_file" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "puVar5[-1] = 0x2a6bd5;" (assignment_expression "puVar5[-1] = 0x2a6bd5" (subscript_expression "puVar5[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "operator_delete((void *)*puVar5);" (call_expression "operator_delete((void *)*puVar5)" identifier (argument_list "((void *)*puVar5)" ( (cast_expression "(void *)*puVar5" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier)) ))) ;) (expression_statement "puVar6 = puVar5 + 4;" (assignment_expression "puVar6 = puVar5 + 4" identifier = (binary_expression "puVar5 + 4" identifier + number_literal)) ;) })) }) (ERROR "line_info.super_Dwarf_line_info._vptr_Dwarf_line_info =\n       (_func_int_varargs **" identifier . identifier . identifier = ( identifier * *) )))) & identifier) --) ;) (expression_statement "DVar3._vptr_Dwarf_line_info = (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78;" (assignment_expression "DVar3._vptr_Dwarf_line_info = (_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78" (field_expression "DVar3._vptr_Dwarf_line_info" identifier . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Sized_dwarf_line_info_005e5b78" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Sized_dwarf_line_info_005e5b78" & identifier))) ;) (if_statement "if (line_info.buffer_start_ != (uchar *)0x0) {\n    *(uchar **)((int)puVar6 + -0x10) = line_info.buffer_start_;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6bf6;\n    operator_delete__(*(void **)((int)puVar6 + -0x10));\n    DVar3 = line_info.super_Dwarf_line_info;\n  }" if (parenthesized_expression "(line_info.buffer_start_ != (uchar *)0x0)" ( (binary_expression "line_info.buffer_start_ != (uchar *)0x0" (field_expression "line_info.buffer_start_" identifier . field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(uchar **)((int)puVar6 + -0x10) = line_info.buffer_start_;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6bf6;\n    operator_delete__(*(void **)((int)puVar6 + -0x10));\n    DVar3 = line_info.super_Dwarf_line_info;\n  }" { (expression_statement "*(uchar **)((int)puVar6 + -0x10) = line_info.buffer_start_;" (assignment_expression "*(uchar **)((int)puVar6 + -0x10) = line_info.buffer_start_" (pointer_expression "*(uchar **)((int)puVar6 + -0x10)" * (cast_expression "(uchar **)((int)puVar6 + -0x10)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "line_info.buffer_start_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6bf6;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6bf6" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete__(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete__(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "DVar3 = line_info.super_Dwarf_line_info;" (assignment_expression "DVar3 = line_info.super_Dwarf_line_info" identifier = (field_expression "line_info.super_Dwarf_line_info" identifier . field_identifier)) ;) })) (expression_statement "line_info.super_Dwarf_line_info._vptr_Dwarf_line_info = DVar3._vptr_Dwarf_line_info;" (assignment_expression "line_info.super_Dwarf_line_info._vptr_Dwarf_line_info = DVar3._vptr_Dwarf_line_info" (field_expression "line_info.super_Dwarf_line_info._vptr_Dwarf_line_info" (field_expression "line_info.super_Dwarf_line_info" identifier . field_identifier) . field_identifier) = (field_expression "DVar3._vptr_Dwarf_line_info" identifier . field_identifier)) ;) (expression_statement "*(Lineno_map **)((int)puVar6 + -0x10) = &line_info.line_number_map_;" (assignment_expression "*(Lineno_map **)((int)puVar6 + -0x10) = &line_info.line_number_map_" (pointer_expression "*(Lineno_map **)((int)puVar6 + -0x10)" * (cast_expression "(Lineno_map **)((int)puVar6 + -0x10)" ( (type_descriptor "Lineno_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&line_info.line_number_map_" & (field_expression "line_info.line_number_map_" identifier . field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c05;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c05" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_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<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));" statement_identifier (ERROR "::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std:" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Offset_to_lineno_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Offset_to_lineno_entry>_>_>,_std" (binary_expression "Offset_to_lineno_entry>_>_" (binary_expression "Offset_to_lineno_entry>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Offset_to_lineno_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Offset_to_lineno_entry>_>_>_>,_std" (binary_expression "Offset_to_lineno_entry>_>_>_" (binary_expression "Offset_to_lineno_entry>_>_" (binary_expression "Offset_to_lineno_entry>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc))" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc))" identifier , (binary_expression "_true>_>\n  ::~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc))" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc))" ~ (call_expression "_Hashtable(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc))" identifier (argument_list "(*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc))" ( (pointer_expression "*(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10)" * (call_expression "(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                  **)((int)puVar6 + -0x10)" (parenthesized_expression "(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_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<unsigned_int,_std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::allocator<gold::Offset_to_lineno_entry>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Offset_to_lineno_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Offset_to_lineno_entry>_>_>,_std" (binary_expression "Offset_to_lineno_entry>_>_" (binary_expression "Offset_to_lineno_entry>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Offset_to_lineno_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Offset_to_lineno_entry>_>_>_>,_std" (binary_expression "Offset_to_lineno_entry>_>_>_" (binary_expression "Offset_to_lineno_entry>_>_" (binary_expression "Offset_to_lineno_entry>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int>,_std" (binary_expression "equal_to<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_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 "**" * (pointer_expression "*" * identifier))))) )) (argument_list "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar6 + -0xc)" * (cast_expression "(int *)((int)puVar6 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0xc)" ( (binary_expression "(int)puVar6 + -0xc" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))))) ;)))))) (expression_statement "*(_Base_ptr *)((int)puVar6 + -0xc) =\n       line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "*(_Base_ptr *)((int)puVar6 + -0xc) =\n       line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (pointer_expression "*(_Base_ptr *)((int)puVar6 + -0xc)" * (cast_expression "(_Base_ptr *)((int)puVar6 + -0xc)" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0xc)" ( (binary_expression "(int)puVar6 + -0xc" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "line_info.reloc_map_._M_t._M_impl.super__Rb_tree_header" (field_expression "line_info.reloc_map_._M_t._M_impl" (field_expression "line_info.reloc_map_._M_t" (field_expression "line_info.reloc_map_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(Reloc_map **)((int)puVar6 + -0x10) = &line_info.reloc_map_;" (assignment_expression "*(Reloc_map **)((int)puVar6 + -0x10) = &line_info.reloc_map_" (pointer_expression "*(Reloc_map **)((int)puVar6 + -0x10)" * (cast_expression "(Reloc_map **)((int)puVar6 + -0x10)" ( (type_descriptor "Reloc_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&line_info.reloc_map_" & (field_expression "line_info.reloc_map_" identifier . field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c13;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c13" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n  ::_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc));" statement_identifier (ERROR "::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std:" : : (comma_expression "_Rb_tree<long_long_int,_std" (binary_expression "_Rb_tree<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>,_std" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<long_long_int>,_std" (binary_expression "less<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) :) : (expression_statement "pair<unsigned_int,_long_long_int>_>_>_>\n  ::_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc));" (comma_expression "pair<unsigned_int,_long_long_int>_>_>_>\n  ::_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc))" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>_>\n  ::_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc))" (binary_expression "_long_long_int>_>_>_" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc))" identifier (argument_list "(*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10),*(_Link_type *)((int)puVar6 + -0xc))" ( (pointer_expression "*(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10)" * (call_expression "(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)((int)puVar6 + -0x10)" (parenthesized_expression "(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>_>\n               **)" ( (ERROR "_Rb_tree<long_long_int,_std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>,_std::_Select1st<std::pair<long_long_int_const,_std::pair<unsigned_int,_long_long_int>_>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_std::" (comma_expression "_Rb_tree<long_long_int,_std" (binary_expression "_Rb_tree<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_long_int>_>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>,_std" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<long_long_int>,_std" (binary_expression "less<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : :) (comma_expression "pair<unsigned_int,_long_long_int>_>_>_>\n               **" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>_>\n               **" (binary_expression "_long_long_int>_>_>_" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(_Link_type *)((int)puVar6 + -0xc)" * (cast_expression "(_Link_type *)((int)puVar6 + -0xc)" ( (type_descriptor "_Link_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0xc)" ( (binary_expression "(int)puVar6 + -0xc" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (if_statement "if (line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start) {\n    local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);\n  }" if (parenthesized_expression "(line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start)" ( (ERROR "line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std" (binary_expression "line_info.files_.\n      super__Vector_base<std::vector<std::pair<int" (binary_expression "line_info.files_.\n      super__Vector_base<std::vector<std" (binary_expression "line_info.files_.\n      super__Vector_base<std" (field_expression "line_info.files_.\n      super__Vector_base" (field_expression "line_info.files_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>,_std" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.files_.\n      super__Vector_base<std" (field_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "line_info.files_.\n      super__Vector_base<std" (field_expression "line_info.files_.\n      super__Vector_base" (field_expression "line_info.files_" identifier . field_identifier) . field_identifier) < identifier)) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>,_std" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);\n  }" { (expression_statement "local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);" (assignment_expression "local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" identifier = (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" ( (ERROR "Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish;" (comma_expression "Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *)\n                line_info.files_.\n                super__Vector_base<std" (binary_expression "_false> *)\n                line_info.files_.\n                super__Vector_base" identifier > (pointer_expression "*)\n                line_info.files_.\n                super__Vector_base" * (ERROR ")" )) (field_expression "line_info.files_.\n                super__Vector_base" (field_expression "line_info.files_" identifier . field_identifier) . field_identifier))) < identifier)) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>,_std" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (field_expression "allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>_>_>_>\n                ._M_impl" (binary_expression "allocator<char>_>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (assignment_expression "local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" identifier = (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" ( (ERROR "Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do" (comma_expression "Sized_dwarf_line_info<64,_false> *)\n                line_info.files_.\n                super__Vector_base<std" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *)\n                line_info.files_.\n                super__Vector_base<std" (binary_expression "_false> *)\n                line_info.files_.\n                super__Vector_base" identifier > (pointer_expression "*)\n                line_info.files_.\n                super__Vector_base" * (ERROR ")" )) (field_expression "line_info.files_.\n                super__Vector_base" (field_expression "line_info.files_" identifier . field_identifier) . field_identifier))) < identifier)) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>,_std" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (field_expression "allocator<char>_>_>_>_>_>_>\n                ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>_>\n                ._M_impl" (binary_expression "allocator<char>_>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ; (assignment_expression "oVar2 = local_17c" identifier = identifier) ; do) (compound_statement "{\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    }" { (expression_statement "local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);" (assignment_expression "local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20)" (field_expression "local_17c._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)oVar2 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)oVar2 >> 0x20)" ( (binary_expression "(ulonglong)oVar2 >> 0x20" (cast_expression "(ulonglong)oVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;" (assignment_expression "local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_" (field_expression "local_17c._0_4_" identifier . field_identifier) = (pointer_expression "*(_func_int_varargs ***)&local_170->data_valid_" * (cast_expression "(_func_int_varargs ***)&local_170->data_valid_" ( (type_descriptor "_func_int_varargs ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_170->data_valid_" & (field_expression "local_170->data_valid_" identifier -> field_identifier))))) ;) (expression_statement "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;" (assignment_expression "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" identifier = (field_expression "(local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" (parenthesized_expression "(local_170->super_Dwarf_line_info)" ( (field_expression "local_170->super_Dwarf_line_info" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }" if (parenthesized_expression "((_func_int_varargs **)local_17c != pp_Var7)" ( (binary_expression "(_func_int_varargs **)local_17c != pp_Var7" (cast_expression "(_func_int_varargs **)local_17c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) (compound_statement "{\n        do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }" { (do_statement "do {\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);" do (compound_statement "{\n          if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 7;\n        }" { (if_statement "if ((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }" if (parenthesized_expression "((_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3)" ( (binary_expression "(_func_int_varargs **)pp_Var7[1] != pp_Var7 + 3" (cast_expression "(_func_int_varargs **)pp_Var7[1]" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pp_Var7[1]" identifier [ number_literal ])) != (binary_expression "pp_Var7 + 3" identifier + number_literal)) )) (compound_statement "{\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }" { (expression_statement "*(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1];" (assignment_expression "*(_func_int_varargs **)((int)puVar6 + -0x10) = pp_Var7[1]" (pointer_expression "*(_func_int_varargs **)((int)puVar6 + -0x10)" * (cast_expression "(_func_int_varargs **)((int)puVar6 + -0x10)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pp_Var7[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c5d" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);" (assignment_expression "oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c)" identifier = (call_expression "CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c)" identifier (argument_list "(local_17c._4_4_,(_func_int_varargs **)local_17c)" ( (field_expression "local_17c._4_4_" identifier . field_identifier) , (cast_expression "(_func_int_varargs **)local_17c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "pp_Var7 = pp_Var7 + 7;" (assignment_expression "pp_Var7 = pp_Var7 + 7" identifier = (binary_expression "pp_Var7 + 7" identifier + number_literal)) ;) }) while (parenthesized_expression "((_func_int_varargs **)local_17c != pp_Var7)" ( (binary_expression "(_func_int_varargs **)local_17c != pp_Var7" (cast_expression "(_func_int_varargs **)local_17c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) ;) (expression_statement "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;" (assignment_expression "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" identifier = (field_expression "(local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" (parenthesized_expression "(local_170->super_Dwarf_line_info)" ( (field_expression "local_170->super_Dwarf_line_info" identifier -> field_identifier) )) . field_identifier)) ;) })) (expression_statement "local_17c = oVar2;" (assignment_expression "local_17c = oVar2" identifier = identifier) ;) (if_statement "if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }" if (parenthesized_expression "(pp_Var7 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var7 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }" { (expression_statement "*(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;" (assignment_expression "*(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7" (pointer_expression "*(_func_int_varargs ***)((int)puVar6 + -0x10)" * (cast_expression "(_func_int_varargs ***)((int)puVar6 + -0x10)" ( (type_descriptor "_func_int_varargs ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6c82" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);" (assignment_expression "local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4)" identifier = (call_expression "(Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4)" (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)" ( (comma_expression "Sized_dwarf_line_info<64,_false> *" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((int)&(local_170->header_).total_length + 4)" ( (binary_expression "(int)&(local_170->header_).total_length + 4" (cast_expression "(int)&(local_170->header_).total_length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_170->header_).total_length" & (field_expression "(local_170->header_).total_length" (parenthesized_expression "(local_170->header_)" ( (field_expression "local_170->header_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "oVar2 = local_17c;" (assignment_expression "oVar2 = local_17c" identifier = identifier) ;) }) (ERROR "while (local_174 != local_170" while ( identifier != identifier) ))) ))) ;) })) (if_statement "if (line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n         ._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cac;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }" if (parenthesized_expression "(line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0)" ( (ERROR "line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "line_info.files_.\n      super__Vector_base<std::vector<std::pair<int,_std" (binary_expression "line_info.files_.\n      super__Vector_base<std::vector<std::pair<int" (binary_expression "line_info.files_.\n      super__Vector_base<std::vector<std" (binary_expression "line_info.files_.\n      super__Vector_base<std" (field_expression "line_info.files_.\n      super__Vector_base" (field_expression "line_info.files_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>,_std" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0" (field_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>_>\n         ._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cac;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }" { (ERROR "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>,_std::allocator<std::vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std::pair<int,_std" (binary_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std::pair<int" (binary_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std::vector<std" (assignment_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.files_.\n         super__Vector_base<std" (pointer_expression "*(pointer *)((int)puVar6 + -0x10)" * (cast_expression "(pointer *)((int)puVar6 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "line_info.files_.\n         super__Vector_base<std" (field_expression "line_info.files_.\n         super__Vector_base" (field_expression "line_info.files_" identifier . field_identifier) . field_identifier) < identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>_>,_std" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_std" (binary_expression "pair<int" identifier < identifier) , identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>_>_>_>\n         ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>_>_>_>\n         ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>_>\n         ._M_impl" (binary_expression "allocator<char>_>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cac;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cac" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_start) {\n    local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);\n  }" if (parenthesized_expression "(line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_start)" ( (ERROR "line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "line_info.directories_.\n      super__Vector_base<std::vector<std" (binary_expression "line_info.directories_.\n      super__Vector_base<std" (field_expression "line_info.directories_.\n      super__Vector_base" (field_expression "line_info.directories_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>,_std" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>_>_>\n      ._M_impl._M_finish !=\n      line_info.directories_.\n      super__Vector_base<std" (field_expression "allocator<char>_>_>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "line_info.directories_.\n      super__Vector_base<std" (field_expression "line_info.directories_.\n      super__Vector_base" (field_expression "line_info.directories_" identifier . field_identifier) . field_identifier) < identifier)) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>,_std" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);\n  }" { (expression_statement "local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170);" (assignment_expression "local_174 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" identifier = (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;\n    local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" ( (ERROR "Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish;" (comma_expression "Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *)\n                line_info.directories_.\n                super__Vector_base<std" (binary_expression "_false> *)\n                line_info.directories_.\n                super__Vector_base" identifier > (pointer_expression "*)\n                line_info.directories_.\n                super__Vector_base" * (ERROR ")" )) (field_expression "line_info.directories_.\n                super__Vector_base" (field_expression "line_info.directories_" identifier . field_identifier) . field_identifier))) < identifier)) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>,_std" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (field_expression "allocator<char>_>_>_>_>_>\n                ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>_>_>\n                ._M_impl" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (assignment_expression "local_170 = (Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" identifier = (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do {\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    } while (local_174 != local_170)" ( (ERROR "Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n                ._M_impl._M_start;\n    oVar2 = local_17c;\n    do" (comma_expression "Sized_dwarf_line_info<64,_false> *)\n                line_info.directories_.\n                super__Vector_base<std" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *)\n                line_info.directories_.\n                super__Vector_base<std" (binary_expression "_false> *)\n                line_info.directories_.\n                super__Vector_base" identifier > (pointer_expression "*)\n                line_info.directories_.\n                super__Vector_base" * (ERROR ")" )) (field_expression "line_info.directories_.\n                super__Vector_base" (field_expression "line_info.directories_" identifier . field_identifier) . field_identifier))) < identifier)) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>,_std" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (field_expression "allocator<char>_>_>_>_>_>\n                ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>\n                ._M_impl" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ; (assignment_expression "oVar2 = local_17c" identifier = identifier) ; do) (compound_statement "{\n      local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);\n      local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;\n      pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }\n      local_17c = oVar2;\n      if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }\n      local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);\n      oVar2 = local_17c;\n    }" { (expression_statement "local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20);" (assignment_expression "local_17c._4_4_ = (undefined4)((ulonglong)oVar2 >> 0x20)" (field_expression "local_17c._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)oVar2 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)oVar2 >> 0x20)" ( (binary_expression "(ulonglong)oVar2 >> 0x20" (cast_expression "(ulonglong)oVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_;" (assignment_expression "local_17c._0_4_ = *(_func_int_varargs ***)&local_170->data_valid_" (field_expression "local_17c._0_4_" identifier . field_identifier) = (pointer_expression "*(_func_int_varargs ***)&local_170->data_valid_" * (cast_expression "(_func_int_varargs ***)&local_170->data_valid_" ( (type_descriptor "_func_int_varargs ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_170->data_valid_" & (field_expression "local_170->data_valid_" identifier -> field_identifier))))) ;) (expression_statement "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;" (assignment_expression "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" identifier = (field_expression "(local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" (parenthesized_expression "(local_170->super_Dwarf_line_info)" ( (field_expression "local_170->super_Dwarf_line_info" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((_func_int_varargs **)local_17c != pp_Var7) {\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }" if (parenthesized_expression "((_func_int_varargs **)local_17c != pp_Var7)" ( (binary_expression "(_func_int_varargs **)local_17c != pp_Var7" (cast_expression "(_func_int_varargs **)local_17c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) (compound_statement "{\n        do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);\n        pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;\n      }" { (do_statement "do {\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        } while ((_func_int_varargs **)local_17c != pp_Var7);" do (compound_statement "{\n          if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }\n          oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);\n          pp_Var7 = pp_Var7 + 6;\n        }" { (if_statement "if ((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2) {\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }" if (parenthesized_expression "((_func_int_varargs **)*pp_Var7 != pp_Var7 + 2)" ( (binary_expression "(_func_int_varargs **)*pp_Var7 != pp_Var7 + 2" (cast_expression "(_func_int_varargs **)*pp_Var7" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*pp_Var7" * identifier)) != (binary_expression "pp_Var7 + 2" identifier + number_literal)) )) (compound_statement "{\n            *(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;\n            *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;\n            operator_delete(*(void **)((int)puVar6 + -0x10));\n          }" { (expression_statement "*(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7;" (assignment_expression "*(_func_int_varargs **)((int)puVar6 + -0x10) = *pp_Var7" (pointer_expression "*(_func_int_varargs **)((int)puVar6 + -0x10)" * (cast_expression "(_func_int_varargs **)((int)puVar6 + -0x10)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*pp_Var7" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6cf4" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c);" (assignment_expression "oVar2 = CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c)" identifier = (call_expression "CONCAT44(local_17c._4_4_,(_func_int_varargs **)local_17c)" identifier (argument_list "(local_17c._4_4_,(_func_int_varargs **)local_17c)" ( (field_expression "local_17c._4_4_" identifier . field_identifier) , (cast_expression "(_func_int_varargs **)local_17c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "pp_Var7 = pp_Var7 + 6;" (assignment_expression "pp_Var7 = pp_Var7 + 6" identifier = (binary_expression "pp_Var7 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "((_func_int_varargs **)local_17c != pp_Var7)" ( (binary_expression "(_func_int_varargs **)local_17c != pp_Var7" (cast_expression "(_func_int_varargs **)local_17c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != identifier) )) ;) (expression_statement "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;" (assignment_expression "pp_Var7 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" identifier = (field_expression "(local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info" (parenthesized_expression "(local_170->super_Dwarf_line_info)" ( (field_expression "local_170->super_Dwarf_line_info" identifier -> field_identifier) )) . field_identifier)) ;) })) (expression_statement "local_17c = oVar2;" (assignment_expression "local_17c = oVar2" identifier = identifier) ;) (if_statement "if (pp_Var7 != (_func_int_varargs **)0x0) {\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }" if (parenthesized_expression "(pp_Var7 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var7 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        *(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;\n        *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;\n        operator_delete(*(void **)((int)puVar6 + -0x10));\n      }" { (expression_statement "*(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7;" (assignment_expression "*(_func_int_varargs ***)((int)puVar6 + -0x10) = pp_Var7" (pointer_expression "*(_func_int_varargs ***)((int)puVar6 + -0x10)" * (cast_expression "(_func_int_varargs ***)((int)puVar6 + -0x10)" ( (type_descriptor "_func_int_varargs ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d19" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4);" (assignment_expression "local_170 = (Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4)" identifier = (call_expression "(Sized_dwarf_line_info<64,_false> *)((int)&(local_170->header_).total_length + 4)" (parenthesized_expression "(Sized_dwarf_line_info<64,_false> *)" ( (comma_expression "Sized_dwarf_line_info<64,_false> *" (binary_expression "Sized_dwarf_line_info<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((int)&(local_170->header_).total_length + 4)" ( (binary_expression "(int)&(local_170->header_).total_length + 4" (cast_expression "(int)&(local_170->header_).total_length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_170->header_).total_length" & (field_expression "(local_170->header_).total_length" (parenthesized_expression "(local_170->header_)" ( (field_expression "local_170->header_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "oVar2 = local_17c;" (assignment_expression "oVar2 = local_17c" identifier = identifier) ;) }) (ERROR "while (local_174 != local_170" while ( identifier != identifier) ))) ))) ;) })) (if_statement "if (line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n         ._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d43;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }" if (parenthesized_expression "(line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0)" ( (ERROR "line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "line_info.directories_.\n      super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "line_info.directories_.\n      super__Vector_base<std::vector<std" (binary_expression "line_info.directories_.\n      super__Vector_base<std" (field_expression "line_info.directories_.\n      super__Vector_base" (field_expression "line_info.directories_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::vector" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>,_std" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>_>_>\n      ._M_impl._M_start != (pointer)0x0" (field_expression "allocator<char>_>_>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>_>_>\n         ._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d43;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }" { (ERROR "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>,_std::allocator<std::vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std::vector<std" (assignment_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.directories_.\n         super__Vector_base<std" (pointer_expression "*(pointer *)((int)puVar6 + -0x10)" * (cast_expression "(pointer *)((int)puVar6 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "line_info.directories_.\n         super__Vector_base<std" (field_expression "line_info.directories_.\n         super__Vector_base" (field_expression "line_info.directories_" identifier . field_identifier) . field_identifier) < identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>,_std" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>_>_>\n         ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>_>_>\n         ._M_impl._M_start" (field_expression "allocator<char>_>_>_>_>_>\n         ._M_impl" (binary_expression "allocator<char>_>_>_>_>_" (binary_expression "allocator<char>_>_>_>_" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d43;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d43" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (line_info.header_.std_opcode_lengths.\n      super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start !=\n      (pointer)0x0) {\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d5b;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }" if (parenthesized_expression "(line_info.header_.std_opcode_lengths.\n      super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start !=\n      (pointer)0x0)" ( (ERROR "line_info.header_.std_opcode_lengths.\n      super__Vector_base<unsigned_char,_std::" (comma_expression "line_info.header_.std_opcode_lengths.\n      super__Vector_base<unsigned_char,_std" (binary_expression "line_info.header_.std_opcode_lengths.\n      super__Vector_base<unsigned_char" (field_expression "line_info.header_.std_opcode_lengths.\n      super__Vector_base" (field_expression "line_info.header_.std_opcode_lengths" (field_expression "line_info.header_" identifier . field_identifier) . field_identifier) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_char>_>._M_impl._M_start !=\n      (pointer)0x0" (field_expression "allocator<unsigned_char>_>._M_impl._M_start" (field_expression "allocator<unsigned_char>_>._M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    *(pointer *)((int)puVar6 + -0x10) =\n         line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start;\n    *(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d5b;\n    operator_delete(*(void **)((int)puVar6 + -0x10));\n  }" { (ERROR "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char,_std::" (comma_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char,_std" (assignment_expression "*(pointer *)((int)puVar6 + -0x10) =\n         line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char" (pointer_expression "*(pointer *)((int)puVar6 + -0x10)" * (cast_expression "(pointer *)((int)puVar6 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "line_info.header_.std_opcode_lengths.\n         super__Vector_base<unsigned_char" (field_expression "line_info.header_.std_opcode_lengths.\n         super__Vector_base" (field_expression "line_info.header_.std_opcode_lengths" (field_expression "line_info.header_" identifier . field_identifier) . field_identifier) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_char>_>._M_impl._M_start;" (field_expression "allocator<unsigned_char>_>._M_impl._M_start" (field_expression "allocator<unsigned_char>_>._M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d5b;" (assignment_expression "*(undefined4 *)((int)puVar6 + -0x14) = 0x2a6d5b" (pointer_expression "*(undefined4 *)((int)puVar6 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar6 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + -0x14)" ( (binary_expression "(int)puVar6 + -0x14" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar6 + -0x10));" (call_expression "operator_delete(*(void **)((int)puVar6 + -0x10))" identifier (argument_list "(*(void **)((int)puVar6 + -0x10))" ( (pointer_expression "*(void **)((int)puVar6 + -0x10)" * (cast_expression "(void **)((int)puVar6 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar6 + -0x10)" ( (binary_expression "(int)puVar6 + -0x10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (return_statement "return ret;" return identifier ;) (ERROR "}" }))
(translation_unit "int FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    \n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}\n\n" (function_definition "int FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    \n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}" primitive_type (function_declarator "FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    \n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "undefined1 auStack_190 [12];" type_identifier (array_declarator "auStack_190 [12]" identifier [ number_literal ]) ;) (declaration "int **local_184;" primitive_type (pointer_declarator "**local_184" * (pointer_declarator "*local_184" * identifier)) ;) (declaration "undefined1 *local_180;" type_identifier (pointer_declarator "*local_180" * identifier) ;) (declaration "undefined **local_17c;" type_identifier (pointer_declarator "**local_17c" * (pointer_declarator "*local_17c" * identifier)) ;) (declaration "undefined4 local_178;" type_identifier identifier ;) (declaration "undefined ***local_174;" type_identifier (pointer_declarator "***local_174" * (pointer_declarator "**local_174" * (pointer_declarator "*local_174" * identifier))) ;) (declaration "undefined ***local_170;" type_identifier (pointer_declarator "***local_170" * (pointer_declarator "**local_170" * (pointer_declarator "*local_170" * identifier))) ;) (declaration "undefined ***local_160;" type_identifier (pointer_declarator "***local_160" * (pointer_declarator "**local_160" * (pointer_declarator "*local_160" * identifier))) ;) (declaration "int local_15c;" primitive_type identifier ;) (declaration "undefined1 local_158 [16];" type_identifier (array_declarator "local_158 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "undefined4 local_144;" type_identifier identifier ;) (declaration "undefined1 local_140 [16];" type_identifier (array_declarator "local_140 [16]" identifier [ number_literal ]) ;) (declaration "int local_130;" primitive_type identifier ;) (declaration "undefined1 *local_12c [2];" type_identifier (pointer_declarator "*local_12c [2]" * (array_declarator "local_12c [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_124 [92];" type_identifier (array_declarator "local_124 [92]" identifier [ number_literal ]) ;) (declaration "undefined **local_c8 [12];" type_identifier (pointer_declarator "**local_c8 [12]" * (pointer_declarator "*local_c8 [12]" * (array_declarator "local_c8 [12]" identifier [ number_literal ]))) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "undefined ***local_6c;" type_identifier (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier))) ;) (declaration "undefined ***local_68;" type_identifier (pointer_declarator "***local_68" * (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier))) ;) (declaration "undefined ***local_60;" type_identifier (pointer_declarator "***local_60" * (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier))) ;) (declaration "undefined ***local_5c;" type_identifier (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier))) ;) (declaration "undefined1 local_50 [8];" type_identifier (array_declarator "local_50 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined1 local_38 [40];" type_identifier (array_declarator "local_38 [40]" identifier [ number_literal ]) ;) (expression_statement "local_170 = local_c8;" (assignment_expression "local_170 = local_c8" identifier = identifier) ;) (expression_statement "local_17c = param_4;" (assignment_expression "local_17c = param_4" identifier = identifier) ;) (expression_statement "local_178 = param_5;" (assignment_expression "local_178 = param_5" identifier = identifier) ;) (expression_statement "FUN_0037f6b0();" (call_expression "FUN_0037f6b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0037d850(param_1,local_170);" (call_expression "FUN_0037d850(param_1,local_170)" identifier (argument_list "(param_1,local_170)" ( identifier , identifier ))) ;) (expression_statement "puVar5 = (undefined4 *)auStack_190;" (assignment_expression "puVar5 = (undefined4 *)auStack_190" identifier = (cast_expression "(undefined4 *)auStack_190" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }" { (expression_statement "FUN_003b5c90();" (call_expression "FUN_003b5c90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_184 = (int **)&local_160;" (assignment_expression "local_184 = (int **)&local_160" identifier = (cast_expression "(int **)&local_160" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_160" & identifier))) ;) (expression_statement "local_174 = (undefined ***)local_158;" (assignment_expression "local_174 = (undefined ***)local_158" identifier = (cast_expression "(undefined ***)local_158" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_15c = 0;" (assignment_expression "local_15c = 0" identifier = number_literal) ;) (expression_statement "local_180 = local_140;" (assignment_expression "local_180 = local_140" identifier = identifier) ;) (expression_statement "local_158[0] = 0;" (assignment_expression "local_158[0] = 0" (subscript_expression "local_158[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_144 = 0;" (assignment_expression "local_144 = 0" identifier = number_literal) ;) (expression_statement "local_140[0] = 0;" (assignment_expression "local_140[0] = 0" (subscript_expression "local_140[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_160 = local_174;" (assignment_expression "local_160 = local_174" identifier = identifier) ;) (expression_statement "local_148 = local_180;" (assignment_expression "local_148 = local_180" identifier = identifier) ;) (expression_statement "cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);" (assignment_expression "cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" identifier = (call_expression "FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" identifier (argument_list "(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" ( (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }" { (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);" (assignment_expression "pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40)" identifier = (pointer_expression "*(code **)(**(int **)(param_2 + 8) + 0x40)" * (cast_expression "(code **)(**(int **)(param_2 + 8) + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_2 + 8) + 0x40)" ( (binary_expression "**(int **)(param_2 + 8) + 0x40" (pointer_expression "**(int **)(param_2 + 8)" * (pointer_expression "*(int **)(param_2 + 8)" * (cast_expression "(int **)(param_2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }" if (parenthesized_expression "(pcVar1 == FUN_00106c40)" ( (binary_expression "pcVar1 == FUN_00106c40" identifier == identifier) )) (compound_statement "{\n        FUN_00106aa0();\n      }" { (expression_statement "FUN_00106aa0();" (call_expression "FUN_00106aa0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        (*pcVar1)();\n      }" else (compound_statement "{\n        (*pcVar1)();\n      }" { (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }" if (parenthesized_expression "(local_12c[0] != local_124)" ( (binary_expression "local_12c[0] != local_124" (subscript_expression "local_12c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        FUN_003ae080();\n      }" { (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "snprintf((char *)local_12c,100,"+0x%lx)");" (call_expression "snprintf((char *)local_12c,100,"+0x%lx)")" identifier (argument_list "((char *)local_12c,100,"+0x%lx)")" ( (cast_expression "(char *)local_12c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (string_literal ""+0x%lx)"" " string_content ") ))) ;) (expression_statement "puVar4 = (undefined4 *)&stack0xfffffe5c;" (assignment_expression "puVar4 = (undefined4 *)&stack0xfffffe5c" identifier = (cast_expression "(undefined4 *)&stack0xfffffe5c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe5c" & identifier))) ;) (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" else (compound_statement "{\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" { (if_statement "if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }" if (parenthesized_expression "(local_15c != 0)" ( (binary_expression "local_15c != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_003b7a40();\n        FUN_003b7890();\n      }" { (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0x7fffffff)" ( (binary_expression "*(int *)(param_1 + 4) == 0x7fffffff" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n        FUN_003f3a70();\n      }" { (expression_statement "FUN_003f3a70();" (call_expression "FUN_003f3a70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }" if (parenthesized_expression "(local_130 == 2)" ( (binary_expression "local_130 == 2" identifier == number_literal) )) (compound_statement "{\n        gettext();\n        FUN_003b7a40();\n      }" { (expression_statement "gettext();" (call_expression "gettext()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar4 = (undefined4 *)&stack0xfffffe60;" (assignment_expression "puVar4 = (undefined4 *)&stack0xfffffe60" identifier = (cast_expression "(undefined4 *)&stack0xfffffe60" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe60" & identifier))) ;) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_148 != local_180)" ( (binary_expression "local_148 != local_180" identifier != identifier) )) (compound_statement "{\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }" { (expression_statement "*puVar4 = local_148;" (assignment_expression "*puVar4 = local_148" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[-1] = 0x2a6bb9;" (assignment_expression "puVar4[-1] = 0x2a6bb9" (subscript_expression "puVar4[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" identifier = (binary_expression "puVar4 + 4" identifier + number_literal)) ;) (if_statement "if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }" if (parenthesized_expression "(local_160 != local_174)" ( (binary_expression "local_160 != local_174" identifier != identifier) )) (compound_statement "{\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }" { (expression_statement "*puVar4 = local_160;" (assignment_expression "*puVar4 = local_160" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[-1] = 0x2a6bd5;" (assignment_expression "puVar4[-1] = 0x2a6bd5" (subscript_expression "puVar4[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" identifier = (binary_expression "puVar4 + 4" identifier + number_literal)) ;) })) })) (expression_statement "local_c8[0] = &PTR_FUN_005e5b78;" (assignment_expression "local_c8[0] = &PTR_FUN_005e5b78" (subscript_expression "local_c8[0]" identifier [ number_literal ]) = (pointer_expression "&PTR_FUN_005e5b78" & identifier)) ;) (expression_statement "ppuVar6 = &PTR_FUN_005e5b78;" (assignment_expression "ppuVar6 = &PTR_FUN_005e5b78" identifier = (pointer_expression "&PTR_FUN_005e5b78" & identifier)) ;) (if_statement "if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }" if (parenthesized_expression "(local_80 != 0)" ( (binary_expression "local_80 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }" { (expression_statement "*(int *)((int)puVar5 + -0x10) = local_80;" (assignment_expression "*(int *)((int)puVar5 + -0x10) = local_80" (pointer_expression "*(int *)((int)puVar5 + -0x10)" * (cast_expression "(int *)((int)puVar5 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae020();" (call_expression "FUN_003ae020()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar6 = local_c8[0];" (assignment_expression "ppuVar6 = local_c8[0]" identifier = (subscript_expression "local_c8[0]" identifier [ number_literal ])) ;) })) (expression_statement "local_c8[0] = ppuVar6;" (assignment_expression "local_c8[0] = ppuVar6" (subscript_expression "local_c8[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 **)((int)puVar5 + -0x10) = local_38;" (assignment_expression "*(undefined1 **)((int)puVar5 + -0x10) = local_38" (pointer_expression "*(undefined1 **)((int)puVar5 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0029b5b0();" (call_expression "FUN_0029b5b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0xc) = local_48;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0xc) = local_48" (pointer_expression "*(undefined4 *)((int)puVar5 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar5 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0xc)" ( (binary_expression "(int)puVar5 + -0xc" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)puVar5 + -0x10) = local_50;" (assignment_expression "*(undefined1 **)((int)puVar5 + -0x10) = local_50" (pointer_expression "*(undefined1 **)((int)puVar5 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002a5000();" (call_expression "FUN_002a5000()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" if (parenthesized_expression "(local_5c != local_60)" ( (binary_expression "local_5c != local_60" identifier != identifier) )) (compound_statement "{\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" { (expression_statement "local_174 = local_5c;" (assignment_expression "local_174 = local_5c" identifier = identifier) ;) (expression_statement "local_170 = local_60;" (assignment_expression "local_170 = local_60" identifier = identifier) ;) (do_statement "do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);" do (compound_statement "{\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    }" { (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) (expression_statement "ppuVar2 = local_170[1];" (assignment_expression "ppuVar2 = local_170[1]" identifier = (subscript_expression "local_170[1]" identifier [ number_literal ])) ;) (if_statement "if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" if (parenthesized_expression "(local_170[1] != ppuVar6)" ( (binary_expression "local_170[1] != ppuVar6" (subscript_expression "local_170[1]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" { (do_statement "do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);" do (compound_statement "{\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        }" { (expression_statement "local_17c = ppuVar2;" (assignment_expression "local_17c = ppuVar2" identifier = identifier) ;) (if_statement "if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }" if (parenthesized_expression "((undefined **)ppuVar6[1] != ppuVar6 + 3)" ( (binary_expression "(undefined **)ppuVar6[1] != ppuVar6 + 3" (cast_expression "(undefined **)ppuVar6[1]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar6[1]" identifier [ number_literal ])) != (binary_expression "ppuVar6 + 3" identifier + number_literal)) )) (compound_statement "{\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }" { (expression_statement "*(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];" (assignment_expression "*(undefined **)((int)puVar5 + -0x10) = ppuVar6[1]" (pointer_expression "*(undefined **)((int)puVar5 + -0x10)" * (cast_expression "(undefined **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "ppuVar6[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar6 = ppuVar6 + 7;" (assignment_expression "ppuVar6 = ppuVar6 + 7" identifier = (binary_expression "ppuVar6 + 7" identifier + number_literal)) ;) (expression_statement "ppuVar2 = local_17c;" (assignment_expression "ppuVar2 = local_17c" identifier = identifier) ;) }) while (parenthesized_expression "(local_17c != ppuVar6)" ( (binary_expression "local_17c != ppuVar6" identifier != identifier) )) ;) (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) })) (if_statement "if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }" if (parenthesized_expression "(ppuVar6 != (undefined **)0x0)" ( (binary_expression "ppuVar6 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }" { (expression_statement "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6;" (assignment_expression "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6" (pointer_expression "*(undefined ***)((int)puVar5 + -0x10)" * (cast_expression "(undefined ***)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_170 = local_170 + 3;" (assignment_expression "local_170 = local_170 + 3" identifier = (binary_expression "local_170 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_174 != local_170)" ( (binary_expression "local_174 != local_170" identifier != identifier) )) ;) })) (if_statement "if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_60 != (undefined ***)0x0)" ( (binary_expression "local_60 != (undefined ***)0x0" identifier != (cast_expression "(undefined ***)0x0" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }" { (expression_statement "*(undefined ****)((int)puVar5 + -0x10) = local_60;" (assignment_expression "*(undefined ****)((int)puVar5 + -0x10) = local_60" (pointer_expression "*(undefined ****)((int)puVar5 + -0x10)" * (cast_expression "(undefined ****)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" if (parenthesized_expression "(local_68 != local_6c)" ( (binary_expression "local_68 != local_6c" identifier != identifier) )) (compound_statement "{\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" { (expression_statement "local_174 = local_68;" (assignment_expression "local_174 = local_68" identifier = identifier) ;) (expression_statement "local_170 = local_6c;" (assignment_expression "local_170 = local_6c" identifier = identifier) ;) (do_statement "do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);" do (compound_statement "{\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    }" { (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) (expression_statement "ppuVar2 = local_170[1];" (assignment_expression "ppuVar2 = local_170[1]" identifier = (subscript_expression "local_170[1]" identifier [ number_literal ])) ;) (if_statement "if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" if (parenthesized_expression "(local_170[1] != ppuVar6)" ( (binary_expression "local_170[1] != ppuVar6" (subscript_expression "local_170[1]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" { (do_statement "do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);" do (compound_statement "{\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        }" { (expression_statement "local_17c = ppuVar2;" (assignment_expression "local_17c = ppuVar2" identifier = identifier) ;) (if_statement "if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }" if (parenthesized_expression "((undefined **)*ppuVar6 != ppuVar6 + 2)" ( (binary_expression "(undefined **)*ppuVar6 != ppuVar6 + 2" (cast_expression "(undefined **)*ppuVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppuVar6" * identifier)) != (binary_expression "ppuVar6 + 2" identifier + number_literal)) )) (compound_statement "{\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }" { (expression_statement "*(undefined **)((int)puVar5 + -0x10) = *ppuVar6;" (assignment_expression "*(undefined **)((int)puVar5 + -0x10) = *ppuVar6" (pointer_expression "*(undefined **)((int)puVar5 + -0x10)" * (cast_expression "(undefined **)((int)puVar5 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*ppuVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar6 = ppuVar6 + 6;" (assignment_expression "ppuVar6 = ppuVar6 + 6" identifier = (binary_expression "ppuVar6 + 6" identifier + number_literal)) ;) (expression_statement "ppuVar2 = local_17c;" (assignment_expression "ppuVar2 = local_17c" identifier = identifier) ;) }) while (parenthesized_expression "(local_17c != ppuVar6)" ( (binary_expression "local_17c != ppuVar6" identifier != identifier) )) ;) (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" identifier = (pointer_expression "*local_170" * identifier)) ;) })) (if_statement "if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }" if (parenthesized_expression "(ppuVar6 != (undefined **)0x0)" ( (binary_expression "ppuVar6 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }" { (expression_statement "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6;" (assignment_expression "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6" (pointer_expression "*(undefined ***)((int)puVar5 + -0x10)" * (cast_expression "(undefined ***)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_170 = local_170 + 3;" (assignment_expression "local_170 = local_170 + 3" identifier = (binary_expression "local_170 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_174 != local_170)" ( (binary_expression "local_174 != local_170" identifier != identifier) )) ;) })) (if_statement "if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_6c != (undefined ***)0x0)" ( (binary_expression "local_6c != (undefined ***)0x0" identifier != (cast_expression "(undefined ***)0x0" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }" { (expression_statement "*(undefined ****)((int)puVar5 + -0x10) = local_6c;" (assignment_expression "*(undefined ****)((int)puVar5 + -0x10) = local_6c" (pointer_expression "*(undefined ****)((int)puVar5 + -0x10)" * (cast_expression "(undefined ****)((int)puVar5 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }" { (expression_statement "*(int *)((int)puVar5 + -0x10) = local_98;" (assignment_expression "*(int *)((int)puVar5 + -0x10) = local_98" (pointer_expression "*(int *)((int)puVar5 + -0x10)" * (cast_expression "(int *)((int)puVar5 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x10)" ( (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + -0x14)" ( (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return param_1;" return identifier ;) })))
(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 (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != 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 * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != 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 * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "int FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)\n\n{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    \n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}" (primitive_type "int") (function_declarator "FUN_002a6a40(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)" (identifier "FUN_002a6a40") (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined **param_4" (type_identifier "undefined") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  code *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined **ppuVar6;\n  undefined1 auStack_190 [12];\n  int **local_184;\n  undefined1 *local_180;\n  undefined **local_17c;\n  undefined4 local_178;\n  undefined ***local_174;\n  undefined ***local_170;\n  undefined ***local_160;\n  int local_15c;\n  undefined1 local_158 [16];\n  undefined1 *local_148;\n  undefined4 local_144;\n  undefined1 local_140 [16];\n  int local_130;\n  undefined1 *local_12c [2];\n  undefined1 local_124 [92];\n  undefined **local_c8 [12];\n  int local_98;\n  int local_80;\n  undefined ***local_6c;\n  undefined ***local_68;\n  undefined ***local_60;\n  undefined ***local_5c;\n  undefined1 local_50 [8];\n  undefined4 local_48;\n  undefined1 local_38 [40];\n  \n  local_170 = local_c8;\n  local_17c = param_4;\n  local_178 = param_5;\n  FUN_0037f6b0();\n                    \n  FUN_0037d850(param_1,local_170);\n  puVar5 = (undefined4 *)auStack_190;\n  if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }\n  local_c8[0] = &PTR_FUN_005e5b78;\n  ppuVar6 = &PTR_FUN_005e5b78;\n  if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }\n  local_c8[0] = ppuVar6;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_38;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;\n  FUN_0029b5b0();\n  *(undefined4 *)((int)puVar5 + -0xc) = local_48;\n  *(undefined1 **)((int)puVar5 + -0x10) = local_50;\n  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;\n  FUN_002a5000();\n  if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }\n  if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }\n  if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }\n  if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }\n  return param_1;\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined **ppuVar6;" (type_identifier "undefined") (pointer_declarator "**ppuVar6" (* "*") (pointer_declarator "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (declaration "undefined1 auStack_190 [12];" (type_identifier "undefined1") (array_declarator "auStack_190 [12]" (identifier "auStack_190") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "int **local_184;" (primitive_type "int") (pointer_declarator "**local_184" (* "*") (pointer_declarator "*local_184" (* "*") (identifier "local_184"))) (; ";")) (declaration "undefined1 *local_180;" (type_identifier "undefined1") (pointer_declarator "*local_180" (* "*") (identifier "local_180")) (; ";")) (declaration "undefined **local_17c;" (type_identifier "undefined") (pointer_declarator "**local_17c" (* "*") (pointer_declarator "*local_17c" (* "*") (identifier "local_17c"))) (; ";")) (declaration "undefined4 local_178;" (type_identifier "undefined4") (identifier "local_178") (; ";")) (declaration "undefined ***local_174;" (type_identifier "undefined") (pointer_declarator "***local_174" (* "*") (pointer_declarator "**local_174" (* "*") (pointer_declarator "*local_174" (* "*") (identifier "local_174")))) (; ";")) (declaration "undefined ***local_170;" (type_identifier "undefined") (pointer_declarator "***local_170" (* "*") (pointer_declarator "**local_170" (* "*") (pointer_declarator "*local_170" (* "*") (identifier "local_170")))) (; ";")) (declaration "undefined ***local_160;" (type_identifier "undefined") (pointer_declarator "***local_160" (* "*") (pointer_declarator "**local_160" (* "*") (pointer_declarator "*local_160" (* "*") (identifier "local_160")))) (; ";")) (declaration "int local_15c;" (primitive_type "int") (identifier "local_15c") (; ";")) (declaration "undefined1 local_158 [16];" (type_identifier "undefined1") (array_declarator "local_158 [16]" (identifier "local_158") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_148;" (type_identifier "undefined1") (pointer_declarator "*local_148" (* "*") (identifier "local_148")) (; ";")) (declaration "undefined4 local_144;" (type_identifier "undefined4") (identifier "local_144") (; ";")) (declaration "undefined1 local_140 [16];" (type_identifier "undefined1") (array_declarator "local_140 [16]" (identifier "local_140") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int local_130;" (primitive_type "int") (identifier "local_130") (; ";")) (declaration "undefined1 *local_12c [2];" (type_identifier "undefined1") (pointer_declarator "*local_12c [2]" (* "*") (array_declarator "local_12c [2]" (identifier "local_12c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_124 [92];" (type_identifier "undefined1") (array_declarator "local_124 [92]" (identifier "local_124") ([ "[") (number_literal "92") (] "]")) (; ";")) (declaration "undefined **local_c8 [12];" (type_identifier "undefined") (pointer_declarator "**local_c8 [12]" (* "*") (pointer_declarator "*local_c8 [12]" (* "*") (array_declarator "local_c8 [12]" (identifier "local_c8") ([ "[") (number_literal "12") (] "]")))) (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "int local_80;" (primitive_type "int") (identifier "local_80") (; ";")) (declaration "undefined ***local_6c;" (type_identifier "undefined") (pointer_declarator "***local_6c" (* "*") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (declaration "undefined ***local_68;" (type_identifier "undefined") (pointer_declarator "***local_68" (* "*") (pointer_declarator "**local_68" (* "*") (pointer_declarator "*local_68" (* "*") (identifier "local_68")))) (; ";")) (declaration "undefined ***local_60;" (type_identifier "undefined") (pointer_declarator "***local_60" (* "*") (pointer_declarator "**local_60" (* "*") (pointer_declarator "*local_60" (* "*") (identifier "local_60")))) (; ";")) (declaration "undefined ***local_5c;" (type_identifier "undefined") (pointer_declarator "***local_5c" (* "*") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")))) (; ";")) (declaration "undefined1 local_50 [8];" (type_identifier "undefined1") (array_declarator "local_50 [8]" (identifier "local_50") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined1 local_38 [40];" (type_identifier "undefined1") (array_declarator "local_38 [40]" (identifier "local_38") ([ "[") (number_literal "40") (] "]")) (; ";")) (expression_statement "local_170 = local_c8;" (assignment_expression "local_170 = local_c8" (identifier "local_170") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_17c = param_4;" (assignment_expression "local_17c = param_4" (identifier "local_17c") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_178 = param_5;" (assignment_expression "local_178 = param_5" (identifier "local_178") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_0037f6b0();" (call_expression "FUN_0037f6b0()" (identifier "FUN_0037f6b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0037d850(param_1,local_170);" (call_expression "FUN_0037d850(param_1,local_170)" (identifier "FUN_0037d850") (argument_list "(param_1,local_170)" (( "(") (identifier "param_1") (, ",") (identifier "local_170") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)auStack_190;" (assignment_expression "puVar5 = (undefined4 *)auStack_190" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)auStack_190" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_190"))) (; ";")) (if_statement "if (*(int *)(param_1 + 4) == 0) {\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_003b5c90();\n    local_184 = (int **)&local_160;\n    local_174 = (undefined ***)local_158;\n    local_15c = 0;\n    local_180 = local_140;\n    local_158[0] = 0;\n    local_144 = 0;\n    local_140[0] = 0;\n    local_160 = local_174;\n    local_148 = local_180;\n                    \n    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);\n    if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }\n    if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }\n    puVar5 = puVar4 + 4;\n    if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }\n  }" ({ "{") (expression_statement "FUN_003b5c90();" (call_expression "FUN_003b5c90()" (identifier "FUN_003b5c90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_184 = (int **)&local_160;" (assignment_expression "local_184 = (int **)&local_160" (identifier "local_184") (= "=") (cast_expression "(int **)&local_160" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_160" (& "&") (identifier "local_160")))) (; ";")) (expression_statement "local_174 = (undefined ***)local_158;" (assignment_expression "local_174 = (undefined ***)local_158" (identifier "local_174") (= "=") (cast_expression "(undefined ***)local_158" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "local_158"))) (; ";")) (expression_statement "local_15c = 0;" (assignment_expression "local_15c = 0" (identifier "local_15c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_180 = local_140;" (assignment_expression "local_180 = local_140" (identifier "local_180") (= "=") (identifier "local_140")) (; ";")) (expression_statement "local_158[0] = 0;" (assignment_expression "local_158[0] = 0" (subscript_expression "local_158[0]" (identifier "local_158") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_144 = 0;" (assignment_expression "local_144 = 0" (identifier "local_144") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_140[0] = 0;" (assignment_expression "local_140[0] = 0" (subscript_expression "local_140[0]" (identifier "local_140") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_160 = local_174;" (assignment_expression "local_160 = local_174" (identifier "local_160") (= "=") (identifier "local_174")) (; ";")) (expression_statement "local_148 = local_180;" (assignment_expression "local_148 = local_180" (identifier "local_148") (= "=") (identifier "local_180")) (; ";")) (expression_statement "cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);" (assignment_expression "cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" (identifier "cVar3") (= "=") (call_expression "FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" (identifier "FUN_00298cf0") (argument_list "(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 8)" (* "*") (cast_expression "(undefined4 *)(param_2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (identifier "local_17c") () ")")))) (; ";")) (if_statement "if (cVar3 == '\0') {\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }\n    else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_003b7a40();\n      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);\n      if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }\n                    \n      FUN_003b7890();\n      if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }\n      snprintf((char *)local_12c,100,"+0x%lx)");\n      puVar4 = (undefined4 *)&stack0xfffffe5c;\n                    \n      FUN_003b7a40();\n    }" ({ "{") (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" (identifier "FUN_003b7a40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);" (assignment_expression "pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(**(int **)(param_2 + 8) + 0x40)" (* "*") (cast_expression "(code **)(**(int **)(param_2 + 8) + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_2 + 8) + 0x40)" (( "(") (binary_expression "**(int **)(param_2 + 8) + 0x40" (pointer_expression "**(int **)(param_2 + 8)" (* "*") (pointer_expression "*(int **)(param_2 + 8)" (* "*") (cast_expression "(int **)(param_2 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (pcVar1 == FUN_00106c40) {\n        FUN_00106aa0();\n      }\n      else {\n        (*pcVar1)();\n      }" (if "if") (parenthesized_expression "(pcVar1 == FUN_00106c40)" (( "(") (binary_expression "pcVar1 == FUN_00106c40" (identifier "pcVar1") (== "==") (identifier "FUN_00106c40")) () ")")) (compound_statement "{\n        FUN_00106aa0();\n      }" ({ "{") (expression_statement "FUN_00106aa0();" (call_expression "FUN_00106aa0()" (identifier "FUN_00106aa0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (*pcVar1)();\n      }" (else "else") (compound_statement "{\n        (*pcVar1)();\n      }" ({ "{") (expression_statement "(*pcVar1)();" (call_expression "(*pcVar1)()" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" (identifier "FUN_003b7890") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_12c[0] != local_124) {\n        FUN_003ae080();\n      }" (if "if") (parenthesized_expression "(local_12c[0] != local_124)" (( "(") (binary_expression "local_12c[0] != local_124" (subscript_expression "local_12c[0]" (identifier "local_12c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_124")) () ")")) (compound_statement "{\n        FUN_003ae080();\n      }" ({ "{") (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "snprintf((char *)local_12c,100,"+0x%lx)");" (call_expression "snprintf((char *)local_12c,100,"+0x%lx)")" (identifier "snprintf") (argument_list "((char *)local_12c,100,"+0x%lx)")" (( "(") (cast_expression "(char *)local_12c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_12c")) (, ",") (number_literal "100") (, ",") (string_literal ""+0x%lx)"" (" """) (string_content "+0x%lx)") (" """)) () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)&stack0xfffffe5c;" (assignment_expression "puVar4 = (undefined4 *)&stack0xfffffe5c" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)&stack0xfffffe5c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xfffffe5c" (& "&") (identifier "stack0xfffffe5c")))) (; ";")) (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" (identifier "FUN_003b7a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" (else "else") (compound_statement "{\n      if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }\n      if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }\n      FUN_003b7890();\n      if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }\n      puVar4 = (undefined4 *)&stack0xfffffe60;\n      FUN_003b7890();\n    }" ({ "{") (if_statement "if (local_15c != 0) {\n        FUN_003b7a40();\n        FUN_003b7890();\n      }" (if "if") (parenthesized_expression "(local_15c != 0)" (( "(") (binary_expression "local_15c != 0" (identifier "local_15c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_003b7a40();\n        FUN_003b7890();\n      }" ({ "{") (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" (identifier "FUN_003b7a40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" (identifier "FUN_003b7890") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 4) == 0x7fffffff) {\n                    \n        FUN_003f3a70();\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 0x7fffffff)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 0x7fffffff" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x7fffffff")) () ")")) (compound_statement "{\n                    \n        FUN_003f3a70();\n      }" ({ "{") (expression_statement "FUN_003f3a70();" (call_expression "FUN_003f3a70()" (identifier "FUN_003f3a70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" (identifier "FUN_003b7890") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_130 == 2) {\n        gettext();\n        FUN_003b7a40();\n      }" (if "if") (parenthesized_expression "(local_130 == 2)" (( "(") (binary_expression "local_130 == 2" (identifier "local_130") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        gettext();\n        FUN_003b7a40();\n      }" ({ "{") (expression_statement "gettext();" (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_003b7a40();" (call_expression "FUN_003b7a40()" (identifier "FUN_003b7a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar4 = (undefined4 *)&stack0xfffffe60;" (assignment_expression "puVar4 = (undefined4 *)&stack0xfffffe60" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)&stack0xfffffe60" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&stack0xfffffe60" (& "&") (identifier "stack0xfffffe60")))) (; ";")) (expression_statement "FUN_003b7890();" (call_expression "FUN_003b7890()" (identifier "FUN_003b7890") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_148 != local_180) {\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }" (if "if") (parenthesized_expression "(local_148 != local_180)" (( "(") (binary_expression "local_148 != local_180" (identifier "local_148") (!= "!=") (identifier "local_180")) () ")")) (compound_statement "{\n      *puVar4 = local_148;\n      puVar4[-1] = 0x2a6bb9;\n      FUN_003ae080();\n    }" ({ "{") (expression_statement "*puVar4 = local_148;" (assignment_expression "*puVar4 = local_148" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (identifier "local_148")) (; ";")) (expression_statement "puVar4[-1] = 0x2a6bb9;" (assignment_expression "puVar4[-1] = 0x2a6bb9" (subscript_expression "puVar4[-1]" (identifier "puVar4") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x2a6bb9")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" (identifier "puVar5") (= "=") (binary_expression "puVar4 + 4" (identifier "puVar4") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (local_160 != local_174) {\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }" (if "if") (parenthesized_expression "(local_160 != local_174)" (( "(") (binary_expression "local_160 != local_174" (identifier "local_160") (!= "!=") (identifier "local_174")) () ")")) (compound_statement "{\n      *puVar4 = local_160;\n      puVar4[-1] = 0x2a6bd5;\n      FUN_003ae080();\n      puVar5 = puVar4 + 4;\n    }" ({ "{") (expression_statement "*puVar4 = local_160;" (assignment_expression "*puVar4 = local_160" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (identifier "local_160")) (; ";")) (expression_statement "puVar4[-1] = 0x2a6bd5;" (assignment_expression "puVar4[-1] = 0x2a6bd5" (subscript_expression "puVar4[-1]" (identifier "puVar4") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x2a6bd5")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" (identifier "puVar5") (= "=") (binary_expression "puVar4 + 4" (identifier "puVar4") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_c8[0] = &PTR_FUN_005e5b78;" (assignment_expression "local_c8[0] = &PTR_FUN_005e5b78" (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "&PTR_FUN_005e5b78" (& "&") (identifier "PTR_FUN_005e5b78"))) (; ";")) (expression_statement "ppuVar6 = &PTR_FUN_005e5b78;" (assignment_expression "ppuVar6 = &PTR_FUN_005e5b78" (identifier "ppuVar6") (= "=") (pointer_expression "&PTR_FUN_005e5b78" (& "&") (identifier "PTR_FUN_005e5b78"))) (; ";")) (if_statement "if (local_80 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }" (if "if") (parenthesized_expression "(local_80 != 0)" (( "(") (binary_expression "local_80 != 0" (identifier "local_80") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)((int)puVar5 + -0x10) = local_80;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;\n    FUN_003ae020();\n    ppuVar6 = local_c8[0];\n  }" ({ "{") (expression_statement "*(int *)((int)puVar5 + -0x10) = local_80;" (assignment_expression "*(int *)((int)puVar5 + -0x10) = local_80" (pointer_expression "*(int *)((int)puVar5 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar5 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6bf6")) (; ";")) (expression_statement "FUN_003ae020();" (call_expression "FUN_003ae020()" (identifier "FUN_003ae020") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar6 = local_c8[0];" (assignment_expression "ppuVar6 = local_c8[0]" (identifier "ppuVar6") (= "=") (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_c8[0] = ppuVar6;" (assignment_expression "local_c8[0] = ppuVar6" (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "ppuVar6")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar5 + -0x10) = local_38;" (assignment_expression "*(undefined1 **)((int)puVar5 + -0x10) = local_38" (pointer_expression "*(undefined1 **)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6c05")) (; ";")) (expression_statement "FUN_0029b5b0();" (call_expression "FUN_0029b5b0()" (identifier "FUN_0029b5b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0xc) = local_48;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0xc) = local_48" (pointer_expression "*(undefined4 *)((int)puVar5 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0xc)" (( "(") (binary_expression "(int)puVar5 + -0xc" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar5 + -0x10) = local_50;" (assignment_expression "*(undefined1 **)((int)puVar5 + -0x10) = local_50" (pointer_expression "*(undefined1 **)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6c13")) (; ";")) (expression_statement "FUN_002a5000();" (call_expression "FUN_002a5000()" (identifier "FUN_002a5000") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_5c != local_60) {\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" (if "if") (parenthesized_expression "(local_5c != local_60)" (( "(") (binary_expression "local_5c != local_60" (identifier "local_5c") (!= "!=") (identifier "local_60")) () ")")) (compound_statement "{\n    local_174 = local_5c;\n    local_170 = local_60;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" ({ "{") (expression_statement "local_174 = local_5c;" (assignment_expression "local_174 = local_5c" (identifier "local_174") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "local_170 = local_60;" (assignment_expression "local_170 = local_60" (identifier "local_170") (= "=") (identifier "local_60")) (; ";")) (do_statement "do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);" (do "do") (compound_statement "{\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    }" ({ "{") (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" (identifier "ppuVar6") (= "=") (pointer_expression "*local_170" (* "*") (identifier "local_170"))) (; ";")) (expression_statement "ppuVar2 = local_170[1];" (assignment_expression "ppuVar2 = local_170[1]" (identifier "ppuVar2") (= "=") (subscript_expression "local_170[1]" (identifier "local_170") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" (if "if") (parenthesized_expression "(local_170[1] != ppuVar6)" (( "(") (binary_expression "local_170[1] != ppuVar6" (subscript_expression "local_170[1]" (identifier "local_170") ([ "[") (number_literal "1") (] "]")) (!= "!=") (identifier "ppuVar6")) () ")")) (compound_statement "{\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" ({ "{") (do_statement "do {\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);" (do "do") (compound_statement "{\n          local_17c = ppuVar2;\n          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 7;\n          ppuVar2 = local_17c;\n        }" ({ "{") (expression_statement "local_17c = ppuVar2;" (assignment_expression "local_17c = ppuVar2" (identifier "local_17c") (= "=") (identifier "ppuVar2")) (; ";")) (if_statement "if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }" (if "if") (parenthesized_expression "((undefined **)ppuVar6[1] != ppuVar6 + 3)" (( "(") (binary_expression "(undefined **)ppuVar6[1] != ppuVar6 + 3" (cast_expression "(undefined **)ppuVar6[1]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppuVar6[1]" (identifier "ppuVar6") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (binary_expression "ppuVar6 + 3" (identifier "ppuVar6") (+ "+") (number_literal "3"))) () ")")) (compound_statement "{\n            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;\n            FUN_003ae080();\n          }" ({ "{") (expression_statement "*(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];" (assignment_expression "*(undefined **)((int)puVar5 + -0x10) = ppuVar6[1]" (pointer_expression "*(undefined **)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined **)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "ppuVar6[1]" (identifier "ppuVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6c5d")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar6 = ppuVar6 + 7;" (assignment_expression "ppuVar6 = ppuVar6 + 7" (identifier "ppuVar6") (= "=") (binary_expression "ppuVar6 + 7" (identifier "ppuVar6") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "ppuVar2 = local_17c;" (assignment_expression "ppuVar2 = local_17c" (identifier "ppuVar2") (= "=") (identifier "local_17c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_17c != ppuVar6)" (( "(") (binary_expression "local_17c != ppuVar6" (identifier "local_17c") (!= "!=") (identifier "ppuVar6")) () ")")) (; ";")) (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" (identifier "ppuVar6") (= "=") (pointer_expression "*local_170" (* "*") (identifier "local_170"))) (; ";")) (} "}"))) (if_statement "if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }" (if "if") (parenthesized_expression "(ppuVar6 != (undefined **)0x0)" (( "(") (binary_expression "ppuVar6 != (undefined **)0x0" (identifier "ppuVar6") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;\n        FUN_003ae080();\n      }" ({ "{") (expression_statement "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6;" (assignment_expression "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6" (pointer_expression "*(undefined ***)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6c82")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_170 = local_170 + 3;" (assignment_expression "local_170 = local_170 + 3" (identifier "local_170") (= "=") (binary_expression "local_170 + 3" (identifier "local_170") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_174 != local_170)" (( "(") (binary_expression "local_174 != local_170" (identifier "local_174") (!= "!=") (identifier "local_170")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_60 != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }" (if "if") (parenthesized_expression "(local_60 != (undefined ***)0x0)" (( "(") (binary_expression "local_60 != (undefined ***)0x0" (identifier "local_60") (!= "!=") (cast_expression "(undefined ***)0x0" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(undefined ****)((int)puVar5 + -0x10) = local_60;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;\n    FUN_003ae080();\n  }" ({ "{") (expression_statement "*(undefined ****)((int)puVar5 + -0x10) = local_60;" (assignment_expression "*(undefined ****)((int)puVar5 + -0x10) = local_60" (pointer_expression "*(undefined ****)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined ****)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_60")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6cac")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_68 != local_6c) {\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" (if "if") (parenthesized_expression "(local_68 != local_6c)" (( "(") (binary_expression "local_68 != local_6c" (identifier "local_68") (!= "!=") (identifier "local_6c")) () ")")) (compound_statement "{\n    local_174 = local_68;\n    local_170 = local_6c;\n    do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);\n  }" ({ "{") (expression_statement "local_174 = local_68;" (assignment_expression "local_174 = local_68" (identifier "local_174") (= "=") (identifier "local_68")) (; ";")) (expression_statement "local_170 = local_6c;" (assignment_expression "local_170 = local_6c" (identifier "local_170") (= "=") (identifier "local_6c")) (; ";")) (do_statement "do {\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    } while (local_174 != local_170);" (do "do") (compound_statement "{\n      ppuVar6 = *local_170;\n      ppuVar2 = local_170[1];\n      if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }\n      if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }\n      local_170 = local_170 + 3;\n    }" ({ "{") (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" (identifier "ppuVar6") (= "=") (pointer_expression "*local_170" (* "*") (identifier "local_170"))) (; ";")) (expression_statement "ppuVar2 = local_170[1];" (assignment_expression "ppuVar2 = local_170[1]" (identifier "ppuVar2") (= "=") (subscript_expression "local_170[1]" (identifier "local_170") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (local_170[1] != ppuVar6) {\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" (if "if") (parenthesized_expression "(local_170[1] != ppuVar6)" (( "(") (binary_expression "local_170[1] != ppuVar6" (subscript_expression "local_170[1]" (identifier "local_170") ([ "[") (number_literal "1") (] "]")) (!= "!=") (identifier "ppuVar6")) () ")")) (compound_statement "{\n        do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);\n        ppuVar6 = *local_170;\n      }" ({ "{") (do_statement "do {\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        } while (local_17c != ppuVar6);" (do "do") (compound_statement "{\n          local_17c = ppuVar2;\n          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }\n          ppuVar6 = ppuVar6 + 6;\n          ppuVar2 = local_17c;\n        }" ({ "{") (expression_statement "local_17c = ppuVar2;" (assignment_expression "local_17c = ppuVar2" (identifier "local_17c") (= "=") (identifier "ppuVar2")) (; ";")) (if_statement "if ((undefined **)*ppuVar6 != ppuVar6 + 2) {\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }" (if "if") (parenthesized_expression "((undefined **)*ppuVar6 != ppuVar6 + 2)" (( "(") (binary_expression "(undefined **)*ppuVar6 != ppuVar6 + 2" (cast_expression "(undefined **)*ppuVar6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6"))) (!= "!=") (binary_expression "ppuVar6 + 2" (identifier "ppuVar6") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;\n            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;\n            FUN_003ae080();\n          }" ({ "{") (expression_statement "*(undefined **)((int)puVar5 + -0x10) = *ppuVar6;" (assignment_expression "*(undefined **)((int)puVar5 + -0x10) = *ppuVar6" (pointer_expression "*(undefined **)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined **)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6cf4")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar6 = ppuVar6 + 6;" (assignment_expression "ppuVar6 = ppuVar6 + 6" (identifier "ppuVar6") (= "=") (binary_expression "ppuVar6 + 6" (identifier "ppuVar6") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "ppuVar2 = local_17c;" (assignment_expression "ppuVar2 = local_17c" (identifier "ppuVar2") (= "=") (identifier "local_17c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_17c != ppuVar6)" (( "(") (binary_expression "local_17c != ppuVar6" (identifier "local_17c") (!= "!=") (identifier "ppuVar6")) () ")")) (; ";")) (expression_statement "ppuVar6 = *local_170;" (assignment_expression "ppuVar6 = *local_170" (identifier "ppuVar6") (= "=") (pointer_expression "*local_170" (* "*") (identifier "local_170"))) (; ";")) (} "}"))) (if_statement "if (ppuVar6 != (undefined **)0x0) {\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }" (if "if") (parenthesized_expression "(ppuVar6 != (undefined **)0x0)" (( "(") (binary_expression "ppuVar6 != (undefined **)0x0" (identifier "ppuVar6") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;\n        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;\n        FUN_003ae080();\n      }" ({ "{") (expression_statement "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6;" (assignment_expression "*(undefined ***)((int)puVar5 + -0x10) = ppuVar6" (pointer_expression "*(undefined ***)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6d19")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_170 = local_170 + 3;" (assignment_expression "local_170 = local_170 + 3" (identifier "local_170") (= "=") (binary_expression "local_170 + 3" (identifier "local_170") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_174 != local_170)" (( "(") (binary_expression "local_174 != local_170" (identifier "local_174") (!= "!=") (identifier "local_170")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_6c != (undefined ***)0x0) {\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }" (if "if") (parenthesized_expression "(local_6c != (undefined ***)0x0)" (( "(") (binary_expression "local_6c != (undefined ***)0x0" (identifier "local_6c") (!= "!=") (cast_expression "(undefined ***)0x0" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(undefined ****)((int)puVar5 + -0x10) = local_6c;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;\n    FUN_003ae080();\n  }" ({ "{") (expression_statement "*(undefined ****)((int)puVar5 + -0x10) = local_6c;" (assignment_expression "*(undefined ****)((int)puVar5 + -0x10) = local_6c" (pointer_expression "*(undefined ****)((int)puVar5 + -0x10)" (* "*") (cast_expression "(undefined ****)((int)puVar5 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_6c")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6d43")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_98 != 0) {\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }" (if "if") (parenthesized_expression "(local_98 != 0)" (( "(") (binary_expression "local_98 != 0" (identifier "local_98") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)((int)puVar5 + -0x10) = local_98;\n    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;\n    FUN_003ae080();\n  }" ({ "{") (expression_statement "*(int *)((int)puVar5 + -0x10) = local_98;" (assignment_expression "*(int *)((int)puVar5 + -0x10) = local_98" (pointer_expression "*(int *)((int)puVar5 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar5 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x10)" (( "(") (binary_expression "(int)puVar5 + -0x10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;" (assignment_expression "*(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b" (pointer_expression "*(undefined4 *)((int)puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + -0x14)" (( "(") (binary_expression "(int)puVar5 + -0x14" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2a6d5b")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: string location(Relocate_info<64,_false> * this, size_t param_1, off_t
   offset) */

var_1 * var_2
gold::Relocate_info<64,var_14>::location
          (var_1 *__return_storage_ptr__,Relocate_info<64,var_14> *this,size_t param_1,type_1 offset
          )

{
  var_3 *var_4;
  type_1 oVar2;
  type_2 DVar3;
  bool bVar4;
  type_3 *var_27;
  type_3 *puVar6;
  var_3 **var_38;
  var_1 *ret;
  type_4 auStack_18c [8];
  type_5 *local_184;
  anon_union_16_2_edb7204a_for_basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_8
  *var_9;
  type_6 local_17c;
  var_10<64,var_14> *var_28;
  var_10<64,var_14> *local_170;
  type_5 info;
  char var_24 [100];
  var_10<64,var_14> var_11;
  
  local_170 = &var_11;
  local_17c = offset;
  var_10<64,var_14>::var_10
            (local_170,(type_7 *)this->object,0xffffffff);
                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */
  var_10<64,var_14>::var_12
            (ret,local_170,this->data_shndx,local_17c,
             (vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>
              *)0x0);
  puVar6 = (type_3 *)auStack_18c;
  if (ret->_M_string_length == 0) {
                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */
    std::string::var_13((var_1 *)ret);
    local_184 = &info;
    var_28 = (var_10<64,var_14> *)&info.source_file.field_2;
    info.source_file._M_string_length = 0;
    var_9 = &info.enclosing_symbol_name.field_2;
    info.source_file.field_2._M_local_buf[0] = '\0';
    info.enclosing_symbol_name._M_string_length = 0;
    info.enclosing_symbol_name.field_2._M_local_buf[0] = '\0';
    info.source_file._M_dataplus._M_p = (type_8)var_28;
    info.enclosing_symbol_name._M_dataplus._M_p = (type_8)var_9;
                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */
    bVar4 = var_15<64,var_14>::var_16
                      (this->object,this->data_shndx,local_17c,local_184);
    if (bVar4) {
      if (info.source_file._M_string_length != 0) {
        std::string::var_17((char *)ret);
        std::string::var_18((char *)ret,(type_9)info.source_file._M_dataplus._M_p);
      }
      if (ret->_M_string_length == 0x7fffffff) {
                    /* WARNING: Subroutine does not return */
        std::var_19("basic_string::append");
      }
      std::string::var_18((char *)ret,0x48e596);
      if (info.enclosing_symbol_type == var_20) {
        var_21();
        std::string::var_17((char *)ret);
      }
      var_27 = (type_3 *)&stack0xfffffe64;
      std::string::var_18((char *)ret,(type_9)info.enclosing_symbol_name._M_dataplus._M_p);
    }
    else {
      std::string::var_17((char *)ret);
      var_4 = (this->object->super_Sized_relobj<64,var_14>).super_Relobj.super_Object._vptr_Object
               [0x10];
      if (var_4 == var_15<64,var_14>::var_22) {
        elfcpp::Elf_file<64,var_14,_gold::type_7>::var_23
                  (&this->object->elf_file_,this->data_shndx);
      }
      else {
        (*var_4)();
      }
                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */
      std::string::var_18((char *)ret,var_24._0_4_);
      if ((char *)var_24._0_4_ != var_24 + 8) {
        var_25((void *)var_24._0_4_);
      }
      var_26(var_24,100,"+0x%lx)");
      var_27 = (type_3 *)&stack0xfffffe60;
                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */
      std::string::var_17((char *)ret);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_8
         *)info.enclosing_symbol_name._M_dataplus._M_p != var_9) {
      *var_27 = info.enclosing_symbol_name._M_dataplus._M_p;
      var_27[-1] = 0x2a6bb9;
      var_25((void *)*var_27);
    }
    puVar6 = var_27 + 4;
    if ((var_10<64,var_14> *)info.source_file._M_dataplus._M_p != var_28) {
      *var_27 = info.source_file._M_dataplus._M_p;
      var_27[-1] = 0x2a6bd5;
      var_25((void *)*var_27);
      puVar6 = var_27 + 4;
    }
  }
  var_11.super_Dwarf_line_info._vptr_Dwarf_line_info =
       (var_3 **)&var_29;
  DVar3._vptr_Dwarf_line_info = (var_3 **)&var_29;
  if (var_11.buffer_start_ != (type_10 *)0x0) {
    *(type_10 **)((int)puVar6 + -0x10) = var_11.buffer_start_;
    *(type_3 *)((int)puVar6 + -0x14) = 0x2a6bf6;
    var_30(*(void **)((int)puVar6 + -0x10));
    DVar3 = var_11.super_Dwarf_line_info;
  }
  var_11.super_Dwarf_line_info._vptr_Dwarf_line_info = DVar3._vptr_Dwarf_line_info;
  *(type_11 **)((int)puVar6 + -0x10) = &var_11.line_number_map_;
  *(type_3 *)((int)puVar6 + -0x14) = 0x2a6c05;
  std::
  var_33<var_35,_std::var_34<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::var_5<gold::Offset_to_lineno_entry>var_7>var_7>,_std::var_5<std::var_34<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::var_5<gold::Offset_to_lineno_entry>var_7>var_7>var_7>,_std::__detail::_Select1st,_std::equal_to<var_35>,_std::hash<var_35>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_31<false,var_14,var_32>var_7>
  ::~var_33(*(var_33<var_35,_std::var_34<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::var_5<gold::Offset_to_lineno_entry>var_7>var_7>,_std::var_5<std::var_34<unsigned_int_const,_std::vector<gold::Offset_to_lineno_entry,_std::var_5<gold::Offset_to_lineno_entry>var_7>var_7>var_7>,_std::__detail::_Select1st,_std::equal_to<var_35>,_std::hash<var_35>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_31<false,var_14,var_32>var_7>
                  **)((int)puVar6 + -0x10),*(int *)((int)puVar6 + -0xc));
  *(type_12 *)((int)puVar6 + -0xc) =
       var_11.reloc_map_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
  *(type_13 **)((int)puVar6 + -0x10) = &var_11.reloc_map_;
  *(type_3 *)((int)puVar6 + -0x14) = 0x2a6c13;
  std::
  _Rb_tree<long_long_int,_std::var_34<long_long_int_const,_std::var_34<var_35,var_36>var_7>,_std::_Select1st<std::var_34<long_long_int_const,_std::var_34<var_35,var_36>var_7>var_7>,_std::less<long_long_int>,_std::var_5<std::var_34<long_long_int_const,_std::var_34<var_35,var_36>var_7>var_7>var_7>
  ::var_37(*(_Rb_tree<long_long_int,_std::var_34<long_long_int_const,_std::var_34<var_35,var_36>var_7>,_std::_Select1st<std::var_34<long_long_int_const,_std::var_34<var_35,var_36>var_7>var_7>,_std::less<long_long_int>,_std::var_5<std::var_34<long_long_int_const,_std::var_34<var_35,var_36>var_7>var_7>var_7>
               **)((int)puVar6 + -0x10),*(type_14 *)((int)puVar6 + -0xc));
  if (var_11.files_.
      super__Vector_base<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>,_std::var_5<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>var_7>
      ._M_impl._M_finish !=
      var_11.files_.
      super__Vector_base<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>,_std::var_5<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>var_7>
      ._M_impl._M_start) {
    var_28 = (var_10<64,var_14> *)
                var_11.files_.
                super__Vector_base<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>,_std::var_5<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>var_7>
                ._M_impl._M_finish;
    local_170 = (var_10<64,var_14> *)
                var_11.files_.
                super__Vector_base<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>,_std::var_5<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>var_7>
                ._M_impl._M_start;
    oVar2 = local_17c;
    do {
      local_17c._4_4_ = (type_3)((type_15)oVar2 >> 0x20);
      local_17c._0_4_ = *(var_3 ***)&local_170->data_valid_;
      var_38 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      if ((var_3 **)local_17c != var_38) {
        do {
          if ((var_3 **)var_38[1] != var_38 + 3) {
            *(var_3 **)((int)puVar6 + -0x10) = var_38[1];
            *(type_3 *)((int)puVar6 + -0x14) = 0x2a6c5d;
            var_25(*(void **)((int)puVar6 + -0x10));
          }
          oVar2 = var_39(local_17c._4_4_,(var_3 **)local_17c);
          var_38 = var_38 + 7;
        } while ((var_3 **)local_17c != var_38);
        var_38 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      }
      local_17c = oVar2;
      if (var_38 != (var_3 **)0x0) {
        *(var_3 ***)((int)puVar6 + -0x10) = var_38;
        *(type_3 *)((int)puVar6 + -0x14) = 0x2a6c82;
        var_25(*(void **)((int)puVar6 + -0x10));
      }
      local_170 = (var_10<64,var_14> *)((int)&(local_170->header_).total_length + 4);
      oVar2 = local_17c;
    } while (var_28 != local_170);
  }
  if (var_11.files_.
      super__Vector_base<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>,_std::var_5<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>var_7>
      ._M_impl._M_start != (type_8)0x0) {
    *(type_8 *)((int)puVar6 + -0x10) =
         var_11.files_.
         super__Vector_base<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>,_std::var_5<std::vector<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>,_std::var_5<std::var_34<int,_std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>var_7>
         ._M_impl._M_start;
    *(type_3 *)((int)puVar6 + -0x14) = 0x2a6cac;
    var_25(*(void **)((int)puVar6 + -0x10));
  }
  if (var_11.directories_.
      super__Vector_base<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>,_std::var_5<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>
      ._M_impl._M_finish !=
      var_11.directories_.
      super__Vector_base<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>,_std::var_5<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>
      ._M_impl._M_start) {
    var_28 = (var_10<64,var_14> *)
                var_11.directories_.
                super__Vector_base<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>,_std::var_5<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>
                ._M_impl._M_finish;
    local_170 = (var_10<64,var_14> *)
                var_11.directories_.
                super__Vector_base<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>,_std::var_5<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>
                ._M_impl._M_start;
    oVar2 = local_17c;
    do {
      local_17c._4_4_ = (type_3)((type_15)oVar2 >> 0x20);
      local_17c._0_4_ = *(var_3 ***)&local_170->data_valid_;
      var_38 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      if ((var_3 **)local_17c != var_38) {
        do {
          if ((var_3 **)*var_38 != var_38 + 2) {
            *(var_3 **)((int)puVar6 + -0x10) = *var_38;
            *(type_3 *)((int)puVar6 + -0x14) = 0x2a6cf4;
            var_25(*(void **)((int)puVar6 + -0x10));
          }
          oVar2 = var_39(local_17c._4_4_,(var_3 **)local_17c);
          var_38 = var_38 + 6;
        } while ((var_3 **)local_17c != var_38);
        var_38 = (local_170->super_Dwarf_line_info)._vptr_Dwarf_line_info;
      }
      local_17c = oVar2;
      if (var_38 != (var_3 **)0x0) {
        *(var_3 ***)((int)puVar6 + -0x10) = var_38;
        *(type_3 *)((int)puVar6 + -0x14) = 0x2a6d19;
        var_25(*(void **)((int)puVar6 + -0x10));
      }
      local_170 = (var_10<64,var_14> *)((int)&(local_170->header_).total_length + 4);
      oVar2 = local_17c;
    } while (var_28 != local_170);
  }
  if (var_11.directories_.
      super__Vector_base<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>,_std::var_5<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>
      ._M_impl._M_start != (type_8)0x0) {
    *(type_8 *)((int)puVar6 + -0x10) =
         var_11.directories_.
         super__Vector_base<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>,_std::var_5<std::vector<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>,_std::var_5<std::__cxx11::basic_string<var_6,_std::char_traits<var_6>,_std::var_5<var_6>var_7>var_7>var_7>var_7>var_7>
         ._M_impl._M_start;
    *(type_3 *)((int)puVar6 + -0x14) = 0x2a6d43;
    var_25(*(void **)((int)puVar6 + -0x10));
  }
  if (var_11.header_.std_opcode_lengths.
      super__Vector_base<var_40,_std::var_5<var_40>var_7>._M_impl._M_start !=
      (type_8)0x0) {
    *(type_8 *)((int)puVar6 + -0x10) =
         var_11.header_.std_opcode_lengths.
         super__Vector_base<var_40,_std::var_5<var_40>var_7>._M_impl._M_start;
    *(type_3 *)((int)puVar6 + -0x14) = 0x2a6d5b;
    var_25(*(void **)((int)puVar6 + -0x10));
  }
  return ret;
}


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

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

int MASKED(int param_1,int param_2,undefined4 param_3,undefined **param_4,undefined4 param_5)

{
  code *pcVar1;
  undefined **ppuVar2;
  char cVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined **ppuVar6;
  undefined1 auStack_190 [12];
  int **local_184;
  undefined1 *local_180;
  undefined **local_17c;
  undefined4 local_178;
  undefined ***local_174;
  undefined ***local_170;
  undefined ***local_160;
  int local_15c;
  undefined1 local_158 [16];
  undefined1 *local_148;
  undefined4 local_144;
  undefined1 local_140 [16];
  int local_130;
  undefined1 *local_12c [2];
  undefined1 local_124 [92];
  undefined **local_c8 [12];
  int local_98;
  int local_80;
  undefined ***local_6c;
  undefined ***local_68;
  undefined ***local_60;
  undefined ***local_5c;
  undefined1 local_50 [8];
  undefined4 local_48;
  undefined1 local_38 [40];
  
  local_170 = local_c8;
  local_17c = param_4;
  local_178 = param_5;
  FUN_0037f6b0();
                    /* try { // try from 002a6aa1 to 002a6aa5 has its CatchHandler @ 002a6f04 */
  FUN_0037d850(param_1,local_170);
  puVar5 = (undefined4 *)auStack_190;
  if (*(int *)(param_1 + 4) == 0) {
                    /* try { // try from 002a6ac4 to 002a6ac8 has its CatchHandler @ 002a6f00 */
    FUN_003b5c90();
    local_184 = (int **)&local_160;
    local_174 = (undefined ***)local_158;
    local_15c = 0;
    local_180 = local_140;
    local_158[0] = 0;
    local_144 = 0;
    local_140[0] = 0;
    local_160 = local_174;
    local_148 = local_180;
                    /* try { // try from 002a6b30 to 002a6ded has its CatchHandler @ 002a6e96 */
    cVar3 = FUN_00298cf0(*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x18),local_17c);
    if (cVar3 == '\0') {
      FUN_003b7a40();
      pcVar1 = *(code **)(**(int **)(param_2 + 8) + 0x40);
      if (pcVar1 == FUN_00106c40) {
        FUN_00106aa0();
      }
      else {
        (*pcVar1)();
      }
                    /* try { // try from 002a6e05 to 002a6e09 has its CatchHandler @ 002a6e9a */
      FUN_003b7890();
      if (local_12c[0] != local_124) {
        FUN_003ae080();
      }
      snprintf((char *)local_12c,100,"+0x%lx)");
      puVar4 = (undefined4 *)&stack0xfffffe5c;
                    /* try { // try from 002a6e46 to 002a6e95 has its CatchHandler @ 002a6e96 */
      FUN_003b7a40();
    }
    else {
      if (local_15c != 0) {
        FUN_003b7a40();
        FUN_003b7890();
      }
      if (*(int *)(param_1 + 4) == 0x7fffffff) {
                    /* WARNING: Subroutine does not return */
        FUN_003f3a70();
      }
      FUN_003b7890();
      if (local_130 == 2) {
        gettext();
        FUN_003b7a40();
      }
      puVar4 = (undefined4 *)&stack0xfffffe60;
      FUN_003b7890();
    }
    if (local_148 != local_180) {
      *puVar4 = local_148;
      puVar4[-1] = 0x2a6bb9;
      FUN_003ae080();
    }
    puVar5 = puVar4 + 4;
    if (local_160 != local_174) {
      *puVar4 = local_160;
      puVar4[-1] = 0x2a6bd5;
      FUN_003ae080();
      puVar5 = puVar4 + 4;
    }
  }
  local_c8[0] = &PTR_FUN_005e5b78;
  ppuVar6 = &PTR_FUN_005e5b78;
  if (local_80 != 0) {
    *(int *)((int)puVar5 + -0x10) = local_80;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6bf6;
    FUN_003ae020();
    ppuVar6 = local_c8[0];
  }
  local_c8[0] = ppuVar6;
  *(undefined1 **)((int)puVar5 + -0x10) = local_38;
  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c05;
  FUN_0029b5b0();
  *(undefined4 *)((int)puVar5 + -0xc) = local_48;
  *(undefined1 **)((int)puVar5 + -0x10) = local_50;
  *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c13;
  FUN_002a5000();
  if (local_5c != local_60) {
    local_174 = local_5c;
    local_170 = local_60;
    do {
      ppuVar6 = *local_170;
      ppuVar2 = local_170[1];
      if (local_170[1] != ppuVar6) {
        do {
          local_17c = ppuVar2;
          if ((undefined **)ppuVar6[1] != ppuVar6 + 3) {
            *(undefined **)((int)puVar5 + -0x10) = ppuVar6[1];
            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c5d;
            FUN_003ae080();
          }
          ppuVar6 = ppuVar6 + 7;
          ppuVar2 = local_17c;
        } while (local_17c != ppuVar6);
        ppuVar6 = *local_170;
      }
      if (ppuVar6 != (undefined **)0x0) {
        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;
        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6c82;
        FUN_003ae080();
      }
      local_170 = local_170 + 3;
    } while (local_174 != local_170);
  }
  if (local_60 != (undefined ***)0x0) {
    *(undefined ****)((int)puVar5 + -0x10) = local_60;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cac;
    FUN_003ae080();
  }
  if (local_68 != local_6c) {
    local_174 = local_68;
    local_170 = local_6c;
    do {
      ppuVar6 = *local_170;
      ppuVar2 = local_170[1];
      if (local_170[1] != ppuVar6) {
        do {
          local_17c = ppuVar2;
          if ((undefined **)*ppuVar6 != ppuVar6 + 2) {
            *(undefined **)((int)puVar5 + -0x10) = *ppuVar6;
            *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6cf4;
            FUN_003ae080();
          }
          ppuVar6 = ppuVar6 + 6;
          ppuVar2 = local_17c;
        } while (local_17c != ppuVar6);
        ppuVar6 = *local_170;
      }
      if (ppuVar6 != (undefined **)0x0) {
        *(undefined ***)((int)puVar5 + -0x10) = ppuVar6;
        *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d19;
        FUN_003ae080();
      }
      local_170 = local_170 + 3;
    } while (local_174 != local_170);
  }
  if (local_6c != (undefined ***)0x0) {
    *(undefined ****)((int)puVar5 + -0x10) = local_6c;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d43;
    FUN_003ae080();
  }
  if (local_98 != 0) {
    *(int *)((int)puVar5 + -0x10) = local_98;
    *(undefined4 *)((int)puVar5 + -0x14) = 0x2a6d5b;
    FUN_003ae080();
  }
  return param_1;
}

