
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original prototype: uchar * read_header_tables(Sized_dwarf_line_info<32,_true> * this,
   uchar * lineptr) */

uchar * __thiscall
gold::Sized_dwarf_line_info<32,_true>::read_header_tables
          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)

{
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar1;
  byte bVar2;
  pointer pbVar3;
  pointer pvVar4;
  pointer pvVar5;
  _Alloc_hider _Var6;
  size_t sVar7;
  size_type *psVar8;
  byte *pbVar9;
  byte *pbVar10;
  int iVar11;
  ulonglong uVar12;
  int local_4c;
  size_type *local_44;
  size_t len;
  pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>
  local_38;
  
  iVar11 = this->current_header_index_ + 1;
  this->current_header_index_ = iVar11;
  if (iVar11 != ((int)(this->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 -
                 (int)(this->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 >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");
  }
  if (iVar11 != ((int)(this->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 -
                 (int)(this->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 >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables");
  }
  local_38.first = 0;
  local_38.second._M_dataplus._M_p = (pointer)0x0;
  local_38.second._M_string_length = 0;
  local_38.first = (int)operator_new(0x18);
  *(int *)(local_38.first + 4) = 0;
  local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x18);
  *(int **)local_38.first = (int *)(local_38.first + 8);
  *(undefined1 *)(local_38.first + 8) = 0;
  local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p;
                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */
  std::
  vector<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>_>_>_>_>_>
  ::
  emplace_back<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>_>_>_>_>
            (&this->directories_,
             (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>_>_>_>
              *)&local_38);
  _Var6._M_p = local_38.second._M_dataplus._M_p;
  if (local_38.second._M_dataplus._M_p != (pointer)local_38.first) {
    local_44 = (size_type *)local_38.first;
    do {
      if ((size_type *)*local_44 != local_44 + 2) {
        operator_delete((int *)*local_44);
      }
      local_44 = local_44 + 6;
    } while ((size_type *)_Var6._M_p != local_44);
  }
  if ((int *)local_38.first != (int *)0x0) {
    operator_delete((void *)local_38.first);
  }
  local_38.first = 0;
  local_38.second._M_dataplus._M_p = (pointer)0x0;
  local_38.second._M_string_length = 0;
  local_38.first = (int)operator_new(0x1c);
  local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x1c);
  *(undefined1 *)(local_38.first + 0xc) = 0;
  *(size_type *)local_38.first = 0;
  ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
    *)(local_38.first + 4))->_M_allocated_capacity = (size_type)(local_38.first + 0xc);
  *(undefined4 *)(local_38.first + 8) = 0;
  local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p;
                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */
  std::
  vector<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>_>_>_>_>_>_>
  ::
  emplace_back<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>_>_>_>_>_>
            (&this->files_,
             (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>_>_>_>_>
              *)&local_38);
  _Var6._M_p = local_38.second._M_dataplus._M_p;
  if (local_38.second._M_dataplus._M_p != (pointer)local_38.first) {
    local_44 = (size_type *)local_38.first;
    do {
      if ((undefined4 *)
          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {
        operator_delete((undefined4 *)
                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                          *)(local_44 + 1))->_M_allocated_capacity);
      }
      local_44 = local_44 + 7;
    } while ((size_type *)_Var6._M_p != local_44);
  }
  if ((size_type *)local_38.first != (size_type *)0x0) {
    operator_delete((void *)local_38.first);
  }
  if (*lineptr != '\0') {
    local_44 = (size_type *)
               (this->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;
    if ((int)(((pointer)((int)local_44 + -0xc))->
             super__Vector_base<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 -
        (int)(((pointer)((int)local_44 + -0xc))->
             super__Vector_base<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 == 0x18) {
      psVar8 = &local_38.second._M_string_length;
      iVar11 = 1;
      do {
        local_38.first = (int)psVar8;
        sVar7 = strlen((char *)lineptr);
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char_const*>
                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,
                   lineptr,lineptr + sVar7,0);
                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */
        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>_>_>_>
        ::
        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>
                  ((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>_>_>_>
                    *)((int)local_44 + -0xc),
                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);
        if ((size_type *)local_38.first != psVar8) {
          operator_delete((void *)local_38.first);
        }
        iVar11 = iVar11 + 1;
        local_44 = (size_type *)
                   (this->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;
        pbVar3 = (((pointer)((int)local_44 + -0xc))->
                 super__Vector_base<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;
        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;
        if (*lineptr == '\0') goto LAB_00214aff;
      } while (((int)pbVar3 -
                (int)(((pointer)((int)local_44 + -0xc))->
                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");
  }
LAB_00214aff:
  local_44 = (size_type *)(lineptr + 1);
  if (lineptr[1] != '\0') {
    local_4c = 1;
    do {
      sVar7 = strlen((char *)local_44);
      pbVar10 = (byte *)((int)local_44 + sVar7 + 1);
      bVar2 = *pbVar10;
      pbVar9 = pbVar10 + 1;
      if ((char)bVar2 < '\0') {
        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);
        pbVar9 = pbVar10 + len;
      }
      else {
        len = 1;
        uVar12 = (ulonglong)bVar2;
      }
      psVar8 = (size_type *)uVar12;
      pvVar4 = (this->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;
      if ((uint)(psVar8 < (undefined4 *)
                          (((int)pvVar4[-1].
                                 super__Vector_base<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 -
                            (int)pvVar4[-1].
                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))
      {
        psVar8 = (size_type *)0x0;
      }
      pbVar10 = pbVar9 + 1;
      if ((char)*pbVar9 < '\0') {
        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);
        pbVar10 = pbVar9 + len;
        bVar2 = *pbVar10;
        pbVar9 = pbVar10 + 1;
        if (-1 < (char)bVar2) goto LAB_00214b77;
LAB_00214c8c:
        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);
        pbVar9 = pbVar10 + len;
      }
      else {
        bVar2 = *pbVar10;
        len = 1;
        pbVar9 = pbVar9 + 2;
        if ((char)bVar2 < '\0') goto LAB_00214c8c;
LAB_00214b77:
        len = 1;
      }
      pvVar5 = (this->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;
      if (((int)pvVar5[-1].
                super__Vector_base<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 -
           (int)pvVar5[-1].
                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");
      }
      paVar1 = &local_38.second.field_2;
      local_38.first = (int)psVar8;
      local_38.second._M_dataplus._M_p = (pointer)paVar1;
      sVar7 = strlen((char *)local_44);
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);
                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */
      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>_>_>_>_>
      ::
      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                (pvVar5 + -1,&local_38);
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_38.second._M_dataplus._M_p != paVar1) {
        operator_delete(local_38.second._M_dataplus._M_p);
      }
      local_4c = local_4c + 1;
      local_44 = (size_type *)pbVar9;
    } while (*pbVar9 != 0);
  }
  return (byte *)((int)local_44 + 1);
}



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

byte * FUN_002148a0(int param_1,char *param_2)

{
  byte bVar1;
  int ***pppiVar2;
  size_t sVar3;
  int ****ppppiVar4;
  byte *pbVar5;
  byte *pbVar6;
  int iVar7;
  ulonglong uVar8;
  int local_4c;
  int ***local_44;
  int local_3c;
  int ***local_38;
  int ***local_34;
  int ***local_30;
  int **local_2c [7];
  
  iVar7 = *(int *)(param_1 + 0x74) + 1;
  *(int *)(param_1 + 0x74) = iVar7;
  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");
  }
  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);
  }
  local_38 = (int ***)0x0;
  local_34 = (int ***)0x0;
  local_30 = (int ***)0x0;
  local_38 = (int ***)FUN_00246670(0x18);
  local_38[1] = (int **)0x0;
  local_34 = local_38 + 6;
  *local_38 = (int **)(local_38 + 2);
  *(undefined1 *)(local_38 + 2) = 0;
  local_30 = local_34;
                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */
  FUN_002137c0(param_1 + 0x5c,&local_38);
  pppiVar2 = local_34;
  if (local_34 != local_38) {
    local_44 = local_38;
    do {
      if ((int ***)*local_44 != local_44 + 2) {
        FUN_00248220(*local_44);
      }
      local_44 = local_44 + 6;
    } while (pppiVar2 != local_44);
  }
  if (local_38 != (int ***)0x0) {
    FUN_00248220(local_38);
  }
  local_38 = (int ***)0x0;
  local_34 = (int ***)0x0;
  local_30 = (int ***)0x0;
  local_38 = (int ***)FUN_00246670(0x1c);
  local_34 = (int ***)((int ****)local_38 + 7);
  *(undefined1 *)((int ****)local_38 + 3) = 0;
  *local_38 = (int **)0x0;
  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);
  ((int ****)local_38)[2] = (int ***)0x0;
  local_30 = local_34;
                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */
  FUN_00213a90(param_1 + 0x68,&local_38);
  pppiVar2 = local_34;
  if (local_34 != local_38) {
    local_44 = local_38;
    do {
      if ((int ***)local_44[1] != local_44 + 3) {
        FUN_00248220(local_44[1]);
      }
      local_44 = local_44 + 7;
    } while (pppiVar2 != local_44);
  }
  if ((int ****)local_38 != (int ****)0x0) {
    FUN_00248220(local_38);
  }
  if (*param_2 != '\0') {
    local_44 = *(int ****)(param_1 + 0x60);
    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {
      iVar7 = 1;
      do {
        local_38 = (int ***)&local_30;
        sVar3 = strlen(param_2);
        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);
                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */
        FUN_000d5a90((int)local_44 + -0xc,&local_38);
        if ((int ****)local_38 != &local_30) {
          FUN_00248220(local_38);
        }
        iVar7 = iVar7 + 1;
        local_44 = *(int ****)(param_1 + 0x60);
        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;
        if (*param_2 == '\0') goto LAB_00214aff;
      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -
               iVar7 == 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");
  }
LAB_00214aff:
  local_44 = (int ***)(param_2 + 1);
  if (param_2[1] != '\0') {
    local_4c = 1;
    do {
      sVar3 = strlen((char *)local_44);
      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);
      bVar1 = *pbVar6;
      pbVar5 = pbVar6 + 1;
      if ((char)bVar1 < '\0') {
        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);
        pbVar5 = pbVar6 + local_3c;
      }
      else {
        local_3c = 1;
        uVar8 = (ulonglong)(uint)bVar1;
      }
      ppppiVar4 = (int ****)uVar8;
      if ((uint)(ppppiVar4 <
                (int ****)
                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -
                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=
          (uint)(uVar8 >> 0x20)) {
        ppppiVar4 = (int ****)0x0;
      }
      pbVar6 = pbVar5 + 1;
      if ((char)*pbVar5 < '\0') {
        FUN_00106460(pbVar6,&local_3c,*pbVar5);
        pbVar6 = pbVar5 + local_3c;
        bVar1 = *pbVar6;
        pbVar5 = pbVar6 + 1;
        if (-1 < (char)bVar1) goto LAB_00214b77;
LAB_00214c8c:
        FUN_00106460(pbVar5,&local_3c,bVar1);
        pbVar5 = pbVar6 + local_3c;
      }
      else {
        bVar1 = *pbVar6;
        local_3c = 1;
        pbVar5 = pbVar5 + 2;
        if ((char)bVar1 < '\0') goto LAB_00214c8c;
LAB_00214b77:
        local_3c = 1;
      }
      iVar7 = *(int *)(param_1 + 0x6c);
      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");
      }
      local_38 = (int ***)ppppiVar4;
      local_34 = local_2c;
      sVar3 = strlen((char *)local_44);
      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);
                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */
      FUN_00213dc0(iVar7 + -0xc,&local_38);
      if (local_34 != local_2c) {
        FUN_00248220(local_34);
      }
      local_4c = local_4c + 1;
      local_44 = (int ***)pbVar5;
    } while (*pbVar5 != 0);
  }
  return (byte *)((int)local_44 + 1);
}


CALL 0x000b4846
ADD EAX,0x1ff75b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x4c
MOV ECX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + -0x3c],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x74]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EBP + -0x40],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x74],EDX
MOV EAX,dword ptr [EAX + 0x60]
SUB EAX,dword ptr [ECX + 0x5c]
SAR EAX,0x2
IMUL EAX,EAX,-0x55555555
CMP EDX,EAX
JNZ 0x00214d07
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x6c]
SUB EAX,dword ptr [ECX + 0x68]
SAR EAX,0x2
IMUL EAX,EAX,-0x55555555
CMP EDX,EAX
JNZ 0x00214ceb
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
MOV dword ptr [EBP + -0x34],0x0
PUSH 0x18
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
CALL 0x00246670
LEA ECX,[EAX + 0x8]
MOV dword ptr [EAX + 0x4],0x0
LEA EDX,[EAX + 0x18]
MOV dword ptr [EAX],ECX
MOV byte ptr [EAX + 0x8],0x0
POP ECX
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBP + -0x34]
POP EBX
MOV dword ptr [EBP + -0x44],EAX
PUSH EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x2c],EDX
ADD EAX,0x5c
MOV dword ptr [EBP + -0x30],EDX
PUSH EAX
CALL 0x002137c0
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,dword ptr [EBP + -0x34]
ADD ESP,0x10
CMP EDI,EAX
JZ 0x00214991
MOV dword ptr [EBP + -0x40],EAX
LEA ESI,[ESI]
MOV EBX,dword ptr [EBP + -0x40]
MOV EAX,dword ptr [EBX]
LEA EDX,[EBX + 0x8]
CMP EAX,EDX
JZ 0x00214983
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
ADD dword ptr [EBP + -0x40],0x18
MOV EAX,dword ptr [EBP + -0x40]
CMP EDI,EAX
JNZ 0x00214968
MOV EAX,dword ptr [EBP + -0x34]
TEST EAX,EAX
JZ 0x002149a4
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
MOV dword ptr [EBP + -0x34],0x0
PUSH 0x1c
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
CALL 0x00246670
LEA ECX,[EAX + 0xc]
LEA EDX,[EAX + 0x1c]
MOV byte ptr [EAX + 0xc],0x0
MOV dword ptr [EAX],0x0
MOV dword ptr [EAX + 0x4],ECX
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EBP + -0x34],EAX
POP EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x2c],EDX
MOV dword ptr [EBP + -0x30],EDX
POP EDX
ADD EAX,0x68
PUSH dword ptr [EBP + -0x44]
PUSH EAX
CALL 0x00213a90
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,dword ptr [EBP + -0x34]
ADD ESP,0x10
CMP EDI,EAX
JZ 0x00214a3a
MOV dword ptr [EBP + -0x40],EAX
LEA ESI,[ESI]
MOV EDX,dword ptr [EBP + -0x40]
MOV EAX,dword ptr [EDX + 0x4]
ADD EDX,0xc
CMP EAX,EDX
JZ 0x00214a2c
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
ADD dword ptr [EBP + -0x40],0x1c
MOV EAX,dword ptr [EBP + -0x40]
CMP EDI,EAX
JNZ 0x00214a10
MOV EAX,dword ptr [EBP + -0x34]
TEST EAX,EAX
JZ 0x00214a4d
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
CMP byte ptr [ESI],0x0
JZ 0x00214aff
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EAX + 0x60]
MOV EAX,dword ptr [ECX + -0x8]
SUB EAX,dword ptr [ECX + -0xc]
MOV dword ptr [EBP + -0x40],ECX
CMP EAX,0x18
JNZ 0x00214caf
LEA EAX,[EBP + -0x2c]
MOV EDI,0x1
MOV dword ptr [EBP + -0x48],EAX
JMP 0x00214a97
MOV ECX,dword ptr [EBP + -0x40]
SUB EAX,dword ptr [ECX + -0xc]
SAR EAX,0x3
IMUL EAX,EAX,-0x55555555
CMP EAX,EDI
JNZ 0x00214caf
SUB ESP,0xc
MOV EAX,dword ptr [EBP + -0x48]
MOV EBX,dword ptr [EBP + -0x3c]
PUSH ESI
MOV dword ptr [EBP + -0x34],EAX
CALL 0x0002c330
MOV EBX,dword ptr [EBP + -0x44]
ADD ESP,0x10
ADD EAX,ESI
PUSH 0x0
PUSH EAX
PUSH ESI
PUSH EBX
CALL 0x000a8880
POP ECX
MOV ECX,dword ptr [EBP + -0x40]
POP EAX
PUSH EBX
SUB ECX,0xc
PUSH ECX
CALL 0x000d5a90
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x34]
CMP EAX,dword ptr [EBP + -0x48]
JZ 0x00214ae4
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
ADD EDI,0x1
MOV EAX,dword ptr [EAX + 0x60]
MOV dword ptr [EBP + -0x40],EAX
MOV EAX,dword ptr [EAX + -0x8]
MOV ECX,dword ptr [EAX + -0x14]
LEA ESI,[ESI + ECX*0x1 + 0x1]
CMP byte ptr [ESI],0x0
JNZ 0x00214a80
LEA EAX,[ESI + 0x1]
CMP byte ptr [ESI + 0x1],0x0
MOV dword ptr [EBP + -0x40],EAX
JZ 0x00214c48
LEA EAX,[EBP + -0x38]
MOV dword ptr [EBP + -0x48],0x1
MOV dword ptr [EBP + -0x50],EAX
JMP 0x00214c01
MOV dword ptr [EBP + -0x38],0x1
XOR EDX,EDX
MOV EBX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBX + 0x60]
XOR EBX,EBX
MOV EDI,dword ptr [ECX + -0x8]
SUB EDI,dword ptr [ECX + -0xc]
SAR EDI,0x3
IMUL EDI,EDI,-0x55555555
CMP EAX,EDI
MOV EDI,EDX
SBB EDI,EBX
JC 0x00214b52
XOR EAX,EAX
MOV ECX,EAX
MOVZX EAX,byte ptr [ESI]
LEA EDI,[ESI + 0x1]
TEST AL,AL
JS 0x00214c60
MOVZX EAX,byte ptr [EDI]
MOV dword ptr [EBP + -0x38],0x1
LEA ESI,[EDI + 0x1]
TEST AL,AL
JS 0x00214c8c
MOV dword ptr [EBP + -0x38],0x1
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EAX + 0x6c]
MOV EAX,dword ptr [EDX + -0x8]
SUB EAX,dword ptr [EDX + -0xc]
SAR EAX,0x2
IMUL EAX,EAX,-0x49249249
CMP EAX,dword ptr [EBP + -0x48]
JNZ 0x00214ccd
SUB ESP,0xc
PUSH dword ptr [EBP + -0x40]
MOV EBX,dword ptr [EBP + -0x3c]
LEA EDI,[EBP + -0x28]
MOV dword ptr [EBP + -0x4c],EDX
MOV dword ptr [EBP + -0x34],ECX
MOV dword ptr [EBP + -0x30],EDI
CALL 0x0002c330
MOV ECX,dword ptr [EBP + -0x40]
ADD ESP,0x10
PUSH 0x0
ADD EAX,ECX
PUSH EAX
LEA EAX,[EBP + -0x30]
PUSH ECX
PUSH EAX
CALL 0x000a8880
POP EAX
POP EDX
PUSH dword ptr [EBP + -0x44]
MOV EDX,dword ptr [EBP + -0x4c]
SUB EDX,0xc
PUSH EDX
CALL 0x00213dc0
MOV EAX,dword ptr [EBP + -0x30]
ADD ESP,0x10
CMP EAX,EDI
JZ 0x00214bf5
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
ADD dword ptr [EBP + -0x48],0x1
CMP byte ptr [ESI],0x0
MOV dword ptr [EBP + -0x40],ESI
JZ 0x00214c48
MOV ESI,dword ptr [EBP + -0x40]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH ESI
CALL 0x0002c330
ADD ESP,0x10
LEA EDI,[ESI + EAX*0x1 + 0x1]
MOVZX EAX,byte ptr [EDI]
LEA ESI,[EDI + 0x1]
TEST AL,AL
JNS 0x00214b28
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
PUSH dword ptr [EBP + -0x50]
PUSH ESI
CALL 0x00106460
MOV ESI,dword ptr [EBP + -0x38]
ADD ESP,0x10
ADD ESI,EDI
JMP 0x00214b31
MOV EAX,dword ptr [EBP + -0x40]
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
ADD EAX,0x1
POP EDI
POP EBP
RET
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x3c]
MOV dword ptr [EBP + -0x4c],ECX
PUSH EAX
PUSH dword ptr [EBP + -0x50]
PUSH EDI
CALL 0x00106460
ADD ESI,dword ptr [EBP + -0x38]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + -0x4c]
MOV EDI,ESI
MOVZX EAX,byte ptr [EDI]
LEA ESI,[EDI + 0x1]
TEST AL,AL
JNS 0x00214b77
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x3c]
MOV dword ptr [EBP + -0x4c],ECX
PUSH EAX
PUSH dword ptr [EBP + -0x50]
PUSH ESI
CALL 0x00106460
MOV ESI,dword ptr [EBP + -0x38]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + -0x4c]
ADD ESI,EDI
JMP 0x00214b7e
MOV EBX,dword ptr [EBP + -0x3c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffefd69c]
PUSH EAX
LEA EAX,[EBX + 0xffefd431]
PUSH 0x6c4
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x3c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffefd69c]
PUSH EAX
LEA EAX,[EBX + 0xffefd431]
PUSH 0x6e4
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x3c]
PUSH ESI
LEA EAX,[EBX + 0xffefd69c]
PUSH EAX
LEA EAX,[EBX + 0xffefd431]
PUSH 0x6b8
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EDI
LEA EAX,[EBX + 0xffefd69c]
PUSH EAX
LEA EAX,[EBX + 0xffefd431]
PUSH 0x6b6
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nbyte * FUN_002148a0(int param_1,char *param_2)\n\n{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */\n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */\n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}\n\n" comment (function_definition "byte * FUN_002148a0(int param_1,char *param_2)\n\n{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */\n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */\n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}" type_identifier (pointer_declarator "* FUN_002148a0(int param_1,char *param_2)" * (function_declarator "FUN_002148a0(int param_1,char *param_2)" identifier (parameter_list "(int param_1,char *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */\n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */\n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int ***pppiVar2;" primitive_type (pointer_declarator "***pppiVar2" * (pointer_declarator "**pppiVar2" * (pointer_declarator "*pppiVar2" * identifier))) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int ****ppppiVar4;" primitive_type (pointer_declarator "****ppppiVar4" * (pointer_declarator "***ppppiVar4" * (pointer_declarator "**ppppiVar4" * (pointer_declarator "*ppppiVar4" * identifier)))) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ulonglong uVar8;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int ***local_44;" primitive_type (pointer_declarator "***local_44" * (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier))) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int ***local_38;" primitive_type (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))) ;) (declaration "int ***local_34;" primitive_type (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))) ;) (declaration "int ***local_30;" primitive_type (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))) ;) (declaration "int **local_2c [7];" primitive_type (pointer_declarator "**local_2c [7]" * (pointer_declarator "*local_2c [7]" * (array_declarator "local_2c [7]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0x74) + 1;" (assignment_expression "iVar7 = *(int *)(param_1 + 0x74) + 1" identifier = (binary_expression "*(int *)(param_1 + 0x74) + 1" (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x74) = iVar7;" (assignment_expression "*(int *)(param_1 + 0x74) = iVar7" (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" if (parenthesized_expression "(iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555)" ( (binary_expression "iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555" identifier != (binary_expression "(*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555" (parenthesized_expression "(*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2)" ( (binary_expression "*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2" (binary_expression "*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c)" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" { comment (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (if_statement "if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }" if (parenthesized_expression "(iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555)" ( (binary_expression "iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555" identifier != (binary_expression "(*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555" (parenthesized_expression "(*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2)" ( (binary_expression "*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2" (binary_expression "*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68)" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }" { comment (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2)" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2)" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") , identifier ))) ;) })) (expression_statement "local_38 = (int ***)0x0;" (assignment_expression "local_38 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_34 = (int ***)0x0;" (assignment_expression "local_34 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_30 = (int ***)0x0;" (assignment_expression "local_30 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_38 = (int ***)FUN_00246670(0x18);" (assignment_expression "local_38 = (int ***)FUN_00246670(0x18)" identifier = (cast_expression "(int ***)FUN_00246670(0x18)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "FUN_00246670(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "local_38[1] = (int **)0x0;" (assignment_expression "local_38[1] = (int **)0x0" (subscript_expression "local_38[1]" identifier [ number_literal ]) = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_34 = local_38 + 6;" (assignment_expression "local_34 = local_38 + 6" identifier = (binary_expression "local_38 + 6" identifier + number_literal)) ;) (expression_statement "*local_38 = (int **)(local_38 + 2);" (assignment_expression "*local_38 = (int **)(local_38 + 2)" (pointer_expression "*local_38" * identifier) = (cast_expression "(int **)(local_38 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 2)" ( (binary_expression "local_38 + 2" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)(local_38 + 2) = 0;" (assignment_expression "*(undefined1 *)(local_38 + 2) = 0" (pointer_expression "*(undefined1 *)(local_38 + 2)" * (cast_expression "(undefined1 *)(local_38 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 2)" ( (binary_expression "local_38 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = local_34;" (assignment_expression "local_30 = local_34" identifier = identifier) ;) comment (expression_statement "FUN_002137c0(param_1 + 0x5c,&local_38);" (call_expression "FUN_002137c0(param_1 + 0x5c,&local_38)" identifier (argument_list "(param_1 + 0x5c,&local_38)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "pppiVar2 = local_34;" (assignment_expression "pppiVar2 = local_34" identifier = identifier) ;) (if_statement "if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }" if (parenthesized_expression "(local_34 != local_38)" ( (binary_expression "local_34 != local_38" identifier != identifier) )) (compound_statement "{\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }" { (expression_statement "local_44 = local_38;" (assignment_expression "local_44 = local_38" identifier = identifier) ;) (do_statement "do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);" do (compound_statement "{\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    }" { (if_statement "if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }" if (parenthesized_expression "((int ***)*local_44 != local_44 + 2)" ( (binary_expression "(int ***)*local_44 != local_44 + 2" (cast_expression "(int ***)*local_44" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*local_44" * identifier)) != (binary_expression "local_44 + 2" identifier + number_literal)) )) (compound_statement "{\n        FUN_00248220(*local_44);\n      }" { (expression_statement "FUN_00248220(*local_44);" (call_expression "FUN_00248220(*local_44)" identifier (argument_list "(*local_44)" ( (pointer_expression "*local_44" * identifier) ))) ;) })) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" identifier = (binary_expression "local_44 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppiVar2 != local_44)" ( (binary_expression "pppiVar2 != local_44" identifier != identifier) )) ;) })) (if_statement "if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }" if (parenthesized_expression "(local_38 != (int ***)0x0)" ( (binary_expression "local_38 != (int ***)0x0" identifier != (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_38);\n  }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (expression_statement "local_38 = (int ***)0x0;" (assignment_expression "local_38 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_34 = (int ***)0x0;" (assignment_expression "local_34 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_30 = (int ***)0x0;" (assignment_expression "local_30 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_38 = (int ***)FUN_00246670(0x1c);" (assignment_expression "local_38 = (int ***)FUN_00246670(0x1c)" identifier = (cast_expression "(int ***)FUN_00246670(0x1c)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "FUN_00246670(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "local_34 = (int ***)((int ****)local_38 + 7);" (assignment_expression "local_34 = (int ***)((int ****)local_38 + 7)" identifier = (cast_expression "(int ***)((int ****)local_38 + 7)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int ****)local_38 + 7)" ( (binary_expression "(int ****)local_38 + 7" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 *)((int ****)local_38 + 3) = 0;" (assignment_expression "*(undefined1 *)((int ****)local_38 + 3) = 0" (pointer_expression "*(undefined1 *)((int ****)local_38 + 3)" * (cast_expression "(undefined1 *)((int ****)local_38 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int ****)local_38 + 3)" ( (binary_expression "(int ****)local_38 + 3" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*local_38 = (int **)0x0;" (assignment_expression "*local_38 = (int **)0x0" (pointer_expression "*local_38" * identifier) = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);" (assignment_expression "((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3)" (subscript_expression "((int ****)local_38)[1]" (parenthesized_expression "((int ****)local_38)" ( (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) )) [ number_literal ]) = (cast_expression "(int ***)((int ****)local_38 + 3)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int ****)local_38 + 3)" ( (binary_expression "(int ****)local_38 + 3" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) + number_literal) )))) ;) (expression_statement "((int ****)local_38)[2] = (int ***)0x0;" (assignment_expression "((int ****)local_38)[2] = (int ***)0x0" (subscript_expression "((int ****)local_38)[2]" (parenthesized_expression "((int ****)local_38)" ( (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) )) [ number_literal ]) = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_30 = local_34;" (assignment_expression "local_30 = local_34" identifier = identifier) ;) comment (expression_statement "FUN_00213a90(param_1 + 0x68,&local_38);" (call_expression "FUN_00213a90(param_1 + 0x68,&local_38)" identifier (argument_list "(param_1 + 0x68,&local_38)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "pppiVar2 = local_34;" (assignment_expression "pppiVar2 = local_34" identifier = identifier) ;) (if_statement "if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }" if (parenthesized_expression "(local_34 != local_38)" ( (binary_expression "local_34 != local_38" identifier != identifier) )) (compound_statement "{\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }" { (expression_statement "local_44 = local_38;" (assignment_expression "local_44 = local_38" identifier = identifier) ;) (do_statement "do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);" do (compound_statement "{\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    }" { (if_statement "if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }" if (parenthesized_expression "((int ***)local_44[1] != local_44 + 3)" ( (binary_expression "(int ***)local_44[1] != local_44 + 3" (cast_expression "(int ***)local_44[1]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "local_44[1]" identifier [ number_literal ])) != (binary_expression "local_44 + 3" identifier + number_literal)) )) (compound_statement "{\n        FUN_00248220(local_44[1]);\n      }" { (expression_statement "FUN_00248220(local_44[1]);" (call_expression "FUN_00248220(local_44[1])" identifier (argument_list "(local_44[1])" ( (subscript_expression "local_44[1]" identifier [ number_literal ]) ))) ;) })) (expression_statement "local_44 = local_44 + 7;" (assignment_expression "local_44 = local_44 + 7" identifier = (binary_expression "local_44 + 7" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppiVar2 != local_44)" ( (binary_expression "pppiVar2 != local_44" identifier != identifier) )) ;) })) (if_statement "if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }" if (parenthesized_expression "((int ****)local_38 != (int ****)0x0)" ( (binary_expression "(int ****)local_38 != (int ****)0x0" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_38);\n  }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (if_statement "if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" if (parenthesized_expression "(*param_2 != '\0')" ( (binary_expression "*param_2 != '\0'" (pointer_expression "*param_2" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" { (expression_statement "local_44 = *(int ****)(param_1 + 0x60);" (assignment_expression "local_44 = *(int ****)(param_1 + 0x60)" identifier = (pointer_expression "*(int ****)(param_1 + 0x60)" * (cast_expression "(int ****)(param_1 + 0x60)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }" if (parenthesized_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18)" ( (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18" (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc)" (pointer_expression "*(int *)((int)local_44 + -8)" * (cast_expression "(int *)((int)local_44 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -8)" ( (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - (pointer_expression "*(int *)((int)local_44 + -0xc)" * (cast_expression "(int *)((int)local_44 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) == number_literal) )) (compound_statement "{\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (do_statement "do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);" do (compound_statement "{\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      }" { (expression_statement "local_38 = (int ***)&local_30;" (assignment_expression "local_38 = (int ***)&local_30" identifier = (cast_expression "(int ***)&local_30" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_30" & identifier))) ;) (expression_statement "sVar3 = strlen(param_2);" (assignment_expression "sVar3 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);" (call_expression "FUN_000a8880(&local_38,param_2,param_2 + sVar3,0)" identifier (argument_list "(&local_38,param_2,param_2 + sVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , (binary_expression "param_2 + sVar3" identifier + identifier) , number_literal ))) ;) comment (expression_statement "FUN_000d5a90((int)local_44 + -0xc,&local_38);" (call_expression "FUN_000d5a90((int)local_44 + -0xc,&local_38)" identifier (argument_list "((int)local_44 + -0xc,&local_38)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (if_statement "if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }" if (parenthesized_expression "((int ****)local_38 != &local_30)" ( (binary_expression "(int ****)local_38 != &local_30" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (pointer_expression "&local_30" & identifier)) )) (compound_statement "{\n          FUN_00248220(local_38);\n        }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = *(int ****)(param_1 + 0x60);" (assignment_expression "local_44 = *(int ****)(param_1 + 0x60)" identifier = (pointer_expression "*(int ****)(param_1 + 0x60)" * (cast_expression "(int ****)(param_1 + 0x60)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;" (assignment_expression "param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1" identifier = (binary_expression "param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1" (binary_expression "param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14)" identifier + (pointer_expression "*(int *)(*(int *)((int)local_44 + -8) + -0x14)" * (cast_expression "(int *)(*(int *)((int)local_44 + -8) + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_44 + -8) + -0x14)" ( (binary_expression "*(int *)((int)local_44 + -8) + -0x14" (pointer_expression "*(int *)((int)local_44 + -8)" * (cast_expression "(int *)((int)local_44 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -8)" ( (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) + number_literal)) ;) (if_statement "if (*param_2 == '\0') goto LAB_00214aff;" if (parenthesized_expression "(*param_2 == '\0')" ( (binary_expression "*param_2 == '\0'" (pointer_expression "*param_2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00214aff;" goto statement_identifier ;)) }) while (parenthesized_expression "((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0)" ( (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0" (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7" (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555" (parenthesized_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3)" ( (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3" (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc)" (pointer_expression "*(int *)((int)local_44 + -8)" * (cast_expression "(int *)((int)local_44 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -8)" ( (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - (pointer_expression "*(int *)((int)local_44 + -0xc)" * (cast_expression "(int *)((int)local_44 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) >> number_literal) )) * number_literal) - identifier) == number_literal) )) ;) })) comment (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (labeled_statement "LAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);" statement_identifier : (expression_statement "local_44 = (int ***)(param_2 + 1);" (assignment_expression "local_44 = (int ***)(param_2 + 1)" identifier = (cast_expression "(int ***)(param_2 + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_2 + 1)" ( (binary_expression "param_2 + 1" identifier + number_literal) )))) ;)) (if_statement "if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }" if (parenthesized_expression "(param_2[1] != '\0')" ( (binary_expression "param_2[1] != '\0'" (subscript_expression "param_2[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }" { (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;) (do_statement "do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);" do (compound_statement "{\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    }" { (expression_statement "sVar3 = strlen((char *)local_44);" (assignment_expression "sVar3 = strlen((char *)local_44)" identifier = (call_expression "strlen((char *)local_44)" identifier (argument_list "((char *)local_44)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pbVar6 = (byte *)((int)local_44 + sVar3 + 1);" (assignment_expression "pbVar6 = (byte *)((int)local_44 + sVar3 + 1)" identifier = (cast_expression "(byte *)((int)local_44 + sVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + sVar3 + 1)" ( (binary_expression "(int)local_44 + sVar3 + 1" (binary_expression "(int)local_44 + sVar3" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "pbVar5 = pbVar6 + 1;" (assignment_expression "pbVar5 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (if_statement "if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }" { (expression_statement "uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);" (assignment_expression "uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1)" identifier = (call_expression "FUN_00106460(pbVar5,&local_3c,(uint)bVar1)" identifier (argument_list "(pbVar5,&local_3c,(uint)bVar1)" ( identifier , (pointer_expression "&local_3c" & identifier) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pbVar5 = pbVar6 + local_3c;" (assignment_expression "pbVar5 = pbVar6 + local_3c" identifier = (binary_expression "pbVar6 + local_3c" identifier + identifier)) ;) }) (else_clause "else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" else (compound_statement "{\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" { (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "uVar8 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar8 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) (expression_statement "ppppiVar4 = (int ****)uVar8;" (assignment_expression "ppppiVar4 = (int ****)uVar8" identifier = (cast_expression "(int ****)uVar8" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }" if (parenthesized_expression "((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20))" ( (binary_expression "(uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)" (call_expression "(uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555))" ( (binary_expression "ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" identifier < (cast_expression "(int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" ( (binary_expression "(*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555" (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3" (binary_expression "*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x60) + -8)" * (cast_expression "(int *)(*(int *)(param_1 + 0x60) + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x60) + -8)" ( (binary_expression "*(int *)(param_1 + 0x60) + -8" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) )))) - (pointer_expression "*(int *)(*(int *)(param_1 + 0x60) + -0xc)" * (cast_expression "(int *)(*(int *)(param_1 + 0x60) + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x60) + -0xc)" ( (binary_expression "*(int *)(param_1 + 0x60) + -0xc" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) ))))) >> number_literal) )) * number_literal) )))) ))) <= (call_expression "(uint)(uVar8 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 0x20)" ( (binary_expression "uVar8 >> 0x20" identifier >> number_literal) )))) )) (compound_statement "{\n        ppppiVar4 = (int ****)0x0;\n      }" { (expression_statement "ppppiVar4 = (int ****)0x0;" (assignment_expression "ppppiVar4 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (expression_statement "pbVar6 = pbVar5 + 1;" (assignment_expression "pbVar6 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" if (parenthesized_expression "((char)*pbVar5 < '\0')" ( (binary_expression "(char)*pbVar5 < '\0'" (cast_expression "(char)*pbVar5" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar5" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }" { (expression_statement "FUN_00106460(pbVar6,&local_3c,*pbVar5);" (call_expression "FUN_00106460(pbVar6,&local_3c,*pbVar5)" identifier (argument_list "(pbVar6,&local_3c,*pbVar5)" ( identifier , (pointer_expression "&local_3c" & identifier) , (pointer_expression "*pbVar5" * identifier) ))) ;) (expression_statement "pbVar6 = pbVar5 + local_3c;" (assignment_expression "pbVar6 = pbVar5 + local_3c" identifier = (binary_expression "pbVar5 + local_3c" identifier + identifier)) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "pbVar5 = pbVar6 + 1;" (assignment_expression "pbVar5 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)bVar1) goto LAB_00214b77;" if (parenthesized_expression "(-1 < (char)bVar1)" ( (binary_expression "-1 < (char)bVar1" number_literal < (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00214b77;" goto statement_identifier ;)) (labeled_statement "LAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);" statement_identifier : (expression_statement "FUN_00106460(pbVar5,&local_3c,bVar1);" (call_expression "FUN_00106460(pbVar5,&local_3c,bVar1)" identifier (argument_list "(pbVar5,&local_3c,bVar1)" ( identifier , (pointer_expression "&local_3c" & identifier) , identifier ))) ;)) (expression_statement "pbVar5 = pbVar6 + local_3c;" (assignment_expression "pbVar5 = pbVar6 + local_3c" identifier = (binary_expression "pbVar6 + local_3c" identifier + identifier)) ;) }) (else_clause "else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" else (compound_statement "{\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" { (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar5 + 2;" (assignment_expression "pbVar5 = pbVar5 + 2" identifier = (binary_expression "pbVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((char)bVar1 < '\0') goto LAB_00214c8c;" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00214c8c;" goto statement_identifier ;)) (labeled_statement "LAB_00214b77:\n        local_3c = 1;" statement_identifier : (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;)) }))) (expression_statement "iVar7 = *(int *)(param_1 + 0x6c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x6c)" identifier = (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" if (parenthesized_expression "((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0)" ( (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0" (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c" (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249" (parenthesized_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2)" ( (binary_expression "*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2" (binary_expression "*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc)" (pointer_expression "*(int *)(iVar7 + -8)" * (cast_expression "(int *)(iVar7 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -8)" ( (binary_expression "iVar7 + -8" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar7 + -0xc)" * (cast_expression "(int *)(iVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0xc)" ( (binary_expression "iVar7 + -0xc" identifier + number_literal) ))))) >> number_literal) )) * number_literal) - identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" { comment (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (expression_statement "local_38 = (int ***)ppppiVar4;" (assignment_expression "local_38 = (int ***)ppppiVar4" identifier = (cast_expression "(int ***)ppppiVar4" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_34 = local_2c;" (assignment_expression "local_34 = local_2c" identifier = identifier) ;) (expression_statement "sVar3 = strlen((char *)local_44);" (assignment_expression "sVar3 = strlen((char *)local_44)" identifier = (call_expression "strlen((char *)local_44)" identifier (argument_list "((char *)local_44)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);" (call_expression "FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0)" identifier (argument_list "(&local_34,local_44,(byte *)((int)local_44 + sVar3),0)" ( (pointer_expression "&local_34" & identifier) , identifier , (cast_expression "(byte *)((int)local_44 + sVar3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + sVar3)" ( (binary_expression "(int)local_44 + sVar3" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal ))) ;) comment (expression_statement "FUN_00213dc0(iVar7 + -0xc,&local_38);" (call_expression "FUN_00213dc0(iVar7 + -0xc,&local_38)" identifier (argument_list "(iVar7 + -0xc,&local_38)" ( (binary_expression "iVar7 + -0xc" identifier + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (if_statement "if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n        FUN_00248220(local_34);\n      }" { (expression_statement "FUN_00248220(local_34);" (call_expression "FUN_00248220(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "local_44 = (int ***)pbVar5;" (assignment_expression "local_44 = (int ***)pbVar5" identifier = (cast_expression "(int ***)pbVar5" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) }) while (parenthesized_expression "(*pbVar5 != 0)" ( (binary_expression "*pbVar5 != 0" (pointer_expression "*pbVar5" * identifier) != number_literal) )) ;) })) (return_statement "return (byte *)((int)local_44 + 1);" return (cast_expression "(byte *)((int)local_44 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 1)" ( (binary_expression "(int)local_44 + 1" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* DWARF original prototype: uchar * read_header_tables(Sized_dwarf_line_info<32,_true> * this,\n   uchar * lineptr) */\n\nuchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;\n  byte bVar2;\n  pointer pbVar3;\n  pointer pvVar4;\n  pointer pvVar5;\n  _Alloc_hider _Var6;\n  size_t sVar7;\n  size_type *psVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  int iVar11;\n  ulonglong uVar12;\n  int local_4c;\n  size_type *local_44;\n  size_t len;\n  pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n  local_38;\n  \n  iVar11 = this->current_header_index_ + 1;\n  this->current_header_index_ = iVar11;\n  if (iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables");\n  }\n  local_38.first = 0;\n  local_38.second._M_dataplus._M_p = (pointer)0x0;\n  local_38.second._M_string_length = 0;\n  local_38.first = (int)operator_new(0x18);\n  *(int *)(local_38.first + 4) = 0;\n  local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x18);\n  *(int **)local_38.first = (int *)(local_38.first + 8);\n  *(undefined1 *)(local_38.first + 8) = 0;\n  local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p;\n                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */\n  std::\n  vector<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  ::\n  emplace_back<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            (&this->directories_,\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              *)&local_38);\n  _Var6._M_p = local_38.second._M_dataplus._M_p;\n  if (local_38.second._M_dataplus._M_p != (pointer)local_38.first) {\n    local_44 = (size_type *)local_38.first;\n    do {\n      if ((size_type *)*local_44 != local_44 + 2) {\n        operator_delete((int *)*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while ((size_type *)_Var6._M_p != local_44);\n  }\n  if ((int *)local_38.first != (int *)0x0) {\n    operator_delete((void *)local_38.first);\n  }\n  local_38.first = 0;\n  local_38.second._M_dataplus._M_p = (pointer)0x0;\n  local_38.second._M_string_length = 0;\n  local_38.first = (int)operator_new(0x1c);\n  local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x1c);\n  *(undefined1 *)(local_38.first + 0xc) = 0;\n  *(size_type *)local_38.first = 0;\n  ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)(local_38.first + 4))->_M_allocated_capacity = (size_type)(local_38.first + 0xc);\n  *(undefined4 *)(local_38.first + 8) = 0;\n  local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p;\n                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */\n  std::\n  vector<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  ::\n  emplace_back<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            (&this->files_,\n             (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              *)&local_38);\n  _Var6._M_p = local_38.second._M_dataplus._M_p;\n  if (local_38.second._M_dataplus._M_p != (pointer)local_38.first) {\n    local_44 = (size_type *)local_38.first;\n    do {\n      if ((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }\n      local_44 = local_44 + 7;\n    } while ((size_type *)_Var6._M_p != local_44);\n  }\n  if ((size_type *)local_38.first != (size_type *)0x0) {\n    operator_delete((void *)local_38.first);\n  }\n  if (*lineptr != '\0') {\n    local_44 = (size_type *)\n               (this->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    if ((int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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 == 0x18) {\n      psVar8 = &local_38.second._M_string_length;\n      iVar11 = 1;\n      do {\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      } while (((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (size_type *)(lineptr + 1);\n  if (lineptr[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar7 = strlen((char *)local_44);\n      pbVar10 = (byte *)((int)local_44 + sVar7 + 1);\n      bVar2 = *pbVar10;\n      pbVar9 = pbVar10 + 1;\n      if ((char)bVar2 < '\0') {\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }\n      psVar8 = (size_type *)uVar12;\n      pvVar4 = (this->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      if ((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))\n      {\n        psVar8 = (size_type *)0x0;\n      }\n      pbVar10 = pbVar9 + 1;\n      if ((char)*pbVar9 < '\0') {\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }\n      pvVar5 = (this->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      if (((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      paVar1 = &local_38.second.field_2;\n      local_38.first = (int)psVar8;\n      local_38.second._M_dataplus._M_p = (pointer)paVar1;\n      sVar7 = strlen((char *)local_44);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      std::\n      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      ::\n      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                (pvVar5 + -1,&local_38);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1) {\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (size_type *)pbVar9;\n    } while (*pbVar9 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}\n\n" comment comment (expression_statement "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;" (update_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32,_true>::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string" (binary_expression "uchar * __thiscall\ngold::Sized_dwarf_line_info<32" (binary_expression "uchar * __thiscall" identifier * identifier) (ERROR "gold::Sized_dwarf_line_info" identifier : : identifier) < number_literal) (ERROR ",_true" , identifier) > (ERROR "::read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)\n\n{" : : (call_expression "read_header_tables\n          (Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)" identifier (argument_list "(Sized_dwarf_line_info<32,_true> *this,uchar *lineptr)" ( (binary_expression "Sized_dwarf_line_info<32" identifier < number_literal) , (binary_expression "_true> *this" identifier > (pointer_expression "*this" * identifier)) , (binary_expression "uchar *lineptr" identifier * identifier) ))) {) identifier) < identifier) (ERROR ",_std::char_traits" , identifier : : identifier) < identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > (binary_expression "_9\n  *paVar1" identifier * identifier)) --) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "pointer pbVar3;" type_identifier identifier ;) (declaration "pointer pvVar4;" type_identifier identifier ;) (declaration "pointer pvVar5;" type_identifier identifier ;) (declaration "_Alloc_hider _Var6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "size_type *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "ulonglong uVar12;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "size_type *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "size_t len;" primitive_type identifier ;) (ERROR "pair<int," (binary_expression "pair<int" identifier < identifier) ,) (labeled_statement "_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n  local_38;" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std:" : : (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  local_38;" (binary_expression "allocator<char>_>_>\n  local_38" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) ;)) (expression_statement "iVar11 = this->current_header_index_ + 1;" (assignment_expression "iVar11 = this->current_header_index_ + 1" identifier = (binary_expression "this->current_header_index_ + 1" (field_expression "this->current_header_index_" identifier -> field_identifier) + number_literal)) ;) (expression_statement "this->current_header_index_ = iVar11;" (assignment_expression "this->current_header_index_ = iVar11" (field_expression "this->current_header_index_" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" if (parenthesized_expression "(iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555)" ( (binary_expression "iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555" identifier != (binary_expression "((int)(this->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                 (int)(this->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 >> 2) * -0x55555555" (parenthesized_expression "((int)(this->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                 (int)(this->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 >> 2)" ( (ERROR "(int)(this->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                 (int)(this->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 "(int)(this->directories_).\n                      super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "(int)(this->directories_).\n                      super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "(int)(this->directories_).\n                      super__Vector_base<std::vector<std" (binary_expression "(int)(this->directories_).\n                      super__Vector_base<std" (cast_expression "(int)(this->directories_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->directories_).\n                      super__Vector_base" (parenthesized_expression "(this->directories_)" ( (field_expression "this->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                 (int)(this->directories_).\n                      super__Vector_base<std" (binary_expression "allocator<char>_>_>_>_>_>\n                      ._M_impl._M_finish -\n                 (int)(this->directories_).\n                      super__Vector_base" (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) - (cast_expression "(int)(this->directories_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->directories_).\n                      super__Vector_base" (parenthesized_expression "(this->directories_)" ( (field_expression "this->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) : :) (binary_expression "allocator<char>_>_>_>_>_>\n                      ._M_impl._M_start >> 2" (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) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");" (call_expression "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (if_statement "if (iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables");\n  }" if (parenthesized_expression "(iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555)" ( (binary_expression "iVar11 != ((int)(this->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                 (int)(this->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 >> 2) * -0x55555555" identifier != (binary_expression "((int)(this->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                 (int)(this->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 >> 2) * -0x55555555" (parenthesized_expression "((int)(this->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                 (int)(this->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 >> 2)" ( (ERROR "(int)(this->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                 (int)(this->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 "(int)(this->files_).\n                      super__Vector_base<std::vector<std::pair<int,_std" (binary_expression "(int)(this->files_).\n                      super__Vector_base<std::vector<std::pair<int" (binary_expression "(int)(this->files_).\n                      super__Vector_base<std::vector<std" (binary_expression "(int)(this->files_).\n                      super__Vector_base<std" (cast_expression "(int)(this->files_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->files_).\n                      super__Vector_base" (parenthesized_expression "(this->files_)" ( (field_expression "this->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                 (int)(this->files_).\n                      super__Vector_base<std" (binary_expression "allocator<char>_>_>_>_>_>_>\n                      ._M_impl._M_finish -\n                 (int)(this->files_).\n                      super__Vector_base" (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) - (cast_expression "(int)(this->files_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->files_).\n                      super__Vector_base" (parenthesized_expression "(this->files_)" ( (field_expression "this->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) : :) (binary_expression "allocator<char>_>_>_>_>_>_>\n                      ._M_impl._M_start >> 2" (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) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables");" (call_expression "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (expression_statement "local_38.first = 0;" (assignment_expression "local_38.first = 0" (field_expression "local_38.first" identifier . field_identifier) = number_literal) ;) (expression_statement "local_38.second._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "local_38.second._M_dataplus._M_p = (pointer)0x0" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "local_38.second._M_string_length = 0;" (assignment_expression "local_38.second._M_string_length = 0" (field_expression "local_38.second._M_string_length" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_38.first = (int)operator_new(0x18);" (assignment_expression "local_38.first = (int)operator_new(0x18)" (field_expression "local_38.first" identifier . field_identifier) = (cast_expression "(int)operator_new(0x18)" ( (type_descriptor "int" primitive_type) ) (call_expression "operator_new(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*(int *)(local_38.first + 4) = 0;" (assignment_expression "*(int *)(local_38.first + 4) = 0" (pointer_expression "*(int *)(local_38.first + 4)" * (cast_expression "(int *)(local_38.first + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38.first + 4)" ( (binary_expression "local_38.first + 4" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x18);" (assignment_expression "local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x18)" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) = (call_expression "(pointer)(local_38.first + 0x18)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(local_38.first + 0x18)" ( (binary_expression "local_38.first + 0x18" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "*(int **)local_38.first = (int *)(local_38.first + 8);" (assignment_expression "*(int **)local_38.first = (int *)(local_38.first + 8)" (pointer_expression "*(int **)local_38.first" * (cast_expression "(int **)local_38.first" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "local_38.first" identifier . field_identifier))) = (cast_expression "(int *)(local_38.first + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38.first + 8)" ( (binary_expression "local_38.first + 8" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 *)(local_38.first + 8) = 0;" (assignment_expression "*(undefined1 *)(local_38.first + 8) = 0" (pointer_expression "*(undefined1 *)(local_38.first + 8)" * (cast_expression "(undefined1 *)(local_38.first + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38.first + 8)" ( (binary_expression "local_38.first + 8" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p;" (assignment_expression "local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_string_length" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) = (cast_expression "(size_type)local_38.second._M_dataplus._M_p" ( (type_descriptor "size_type" type_identifier) ) (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier))) ;) comment (labeled_statement "std::\n  vector<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  ::\n  emplace_back<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            (&this->directories_,\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              *)&local_38);" statement_identifier (ERROR "::\n  vector<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  ::\n  emplace_back<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:" : : (binary_expression "vector<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) : : (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) : : (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) > : : (binary_expression "emplace_back<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            (&this->directories_,\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              *)&local_38);" (binary_expression "allocator<char>_>_>_>_>\n            (&this->directories_,\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              *)&local_38)" (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) > (parenthesized_expression "(&this->directories_,\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              *)&local_38)" ( (comma_expression "&this->directories_,\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              *)&local_38" (pointer_expression "&this->directories_" & (field_expression "this->directories_" identifier -> field_identifier)) , (binary_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              *)&local_38" (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              *)" ( (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              *" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;)) (expression_statement "_Var6._M_p = local_38.second._M_dataplus._M_p;" (assignment_expression "_Var6._M_p = local_38.second._M_dataplus._M_p" (field_expression "_Var6._M_p" identifier . field_identifier) = (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (local_38.second._M_dataplus._M_p != (pointer)local_38.first) {\n    local_44 = (size_type *)local_38.first;\n    do {\n      if ((size_type *)*local_44 != local_44 + 2) {\n        operator_delete((int *)*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while ((size_type *)_Var6._M_p != local_44);\n  }" if (parenthesized_expression "(local_38.second._M_dataplus._M_p != (pointer)local_38.first)" ( (binary_expression "local_38.second._M_dataplus._M_p != (pointer)local_38.first" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(pointer)local_38.first" ( (type_descriptor "pointer" type_identifier) ) (field_expression "local_38.first" identifier . field_identifier))) )) (compound_statement "{\n    local_44 = (size_type *)local_38.first;\n    do {\n      if ((size_type *)*local_44 != local_44 + 2) {\n        operator_delete((int *)*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while ((size_type *)_Var6._M_p != local_44);\n  }" { (expression_statement "local_44 = (size_type *)local_38.first;" (assignment_expression "local_44 = (size_type *)local_38.first" identifier = (cast_expression "(size_type *)local_38.first" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier))) ;) (do_statement "do {\n      if ((size_type *)*local_44 != local_44 + 2) {\n        operator_delete((int *)*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while ((size_type *)_Var6._M_p != local_44);" do (compound_statement "{\n      if ((size_type *)*local_44 != local_44 + 2) {\n        operator_delete((int *)*local_44);\n      }\n      local_44 = local_44 + 6;\n    }" { (if_statement "if ((size_type *)*local_44 != local_44 + 2) {\n        operator_delete((int *)*local_44);\n      }" if (parenthesized_expression "((size_type *)*local_44 != local_44 + 2)" ( (binary_expression "(size_type *)*local_44 != local_44 + 2" (cast_expression "(size_type *)*local_44" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier)) != (binary_expression "local_44 + 2" identifier + number_literal)) )) (compound_statement "{\n        operator_delete((int *)*local_44);\n      }" { (expression_statement "operator_delete((int *)*local_44);" (call_expression "operator_delete((int *)*local_44)" identifier (argument_list "((int *)*local_44)" ( (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier)) ))) ;) })) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" identifier = (binary_expression "local_44 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "((size_type *)_Var6._M_p != local_44)" ( (binary_expression "(size_type *)_Var6._M_p != local_44" (cast_expression "(size_type *)_Var6._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var6._M_p" identifier . field_identifier)) != identifier) )) ;) })) (if_statement "if ((int *)local_38.first != (int *)0x0) {\n    operator_delete((void *)local_38.first);\n  }" if (parenthesized_expression "((int *)local_38.first != (int *)0x0)" ( (binary_expression "(int *)local_38.first != (int *)0x0" (cast_expression "(int *)local_38.first" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier)) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete((void *)local_38.first);\n  }" { (expression_statement "operator_delete((void *)local_38.first);" (call_expression "operator_delete((void *)local_38.first)" identifier (argument_list "((void *)local_38.first)" ( (cast_expression "(void *)local_38.first" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier)) ))) ;) })) (expression_statement "local_38.first = 0;" (assignment_expression "local_38.first = 0" (field_expression "local_38.first" identifier . field_identifier) = number_literal) ;) (expression_statement "local_38.second._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "local_38.second._M_dataplus._M_p = (pointer)0x0" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "local_38.second._M_string_length = 0;" (assignment_expression "local_38.second._M_string_length = 0" (field_expression "local_38.second._M_string_length" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_38.first = (int)operator_new(0x1c);" (assignment_expression "local_38.first = (int)operator_new(0x1c)" (field_expression "local_38.first" identifier . field_identifier) = (cast_expression "(int)operator_new(0x1c)" ( (type_descriptor "int" primitive_type) ) (call_expression "operator_new(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x1c);" (assignment_expression "local_38.second._M_dataplus._M_p = (pointer)(local_38.first + 0x1c)" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) = (call_expression "(pointer)(local_38.first + 0x1c)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(local_38.first + 0x1c)" ( (binary_expression "local_38.first + 0x1c" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 *)(local_38.first + 0xc) = 0;" (assignment_expression "*(undefined1 *)(local_38.first + 0xc) = 0" (pointer_expression "*(undefined1 *)(local_38.first + 0xc)" * (cast_expression "(undefined1 *)(local_38.first + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38.first + 0xc)" ( (binary_expression "local_38.first + 0xc" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(size_type *)local_38.first = 0;" (assignment_expression "*(size_type *)local_38.first = 0" (pointer_expression "*(size_type *)local_38.first" * (cast_expression "(size_type *)local_38.first" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier))) = number_literal) ;) (expression_statement "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)(local_38.first + 4))->_M_allocated_capacity = (size_type)(local_38.first + 0xc);" (assignment_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)(local_38.first + 4))->_M_allocated_capacity = (size_type)(local_38.first + 0xc)" (field_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)(local_38.first + 4))->_M_allocated_capacity" (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)(local_38.first + 4))" ( (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)(local_38.first + 4)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n    *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(local_38.first + 4)" ( (binary_expression "local_38.first + 4" (field_expression "local_38.first" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (call_expression "(size_type)(local_38.first + 0xc)" (parenthesized_expression "(size_type)" ( identifier )) (argument_list "(local_38.first + 0xc)" ( (binary_expression "local_38.first + 0xc" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(local_38.first + 8) = 0;" (assignment_expression "*(undefined4 *)(local_38.first + 8) = 0" (pointer_expression "*(undefined4 *)(local_38.first + 8)" * (cast_expression "(undefined4 *)(local_38.first + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38.first + 8)" ( (binary_expression "local_38.first + 8" (field_expression "local_38.first" identifier . field_identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p;" (assignment_expression "local_38.second._M_string_length = (size_type)local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_string_length" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) = (cast_expression "(size_type)local_38.second._M_dataplus._M_p" ( (type_descriptor "size_type" type_identifier) ) (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier))) ;) comment (labeled_statement "std::\n  vector<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  ::\n  emplace_back<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            (&this->files_,\n             (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              *)&local_38);" statement_identifier (ERROR "::\n  vector<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  ::\n  emplace_back<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:" : : (binary_expression "vector<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) : : (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) : : (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) > : : (binary_expression "emplace_back<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            (&this->files_,\n             (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              *)&local_38);" (binary_expression "allocator<char>_>_>_>_>_>\n            (&this->files_,\n             (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              *)&local_38)" (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) > (parenthesized_expression "(&this->files_,\n             (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              *)&local_38)" ( (comma_expression "&this->files_,\n             (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              *)&local_38" (pointer_expression "&this->files_" & (field_expression "this->files_" identifier -> field_identifier)) , (binary_expression "(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              *)&local_38" (parenthesized_expression "(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              *)" ( (ERROR "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 "vector<std::pair<int,_std" (binary_expression "vector<std::pair<int" (binary_expression "vector<std" 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>_>_>_>_>\n              *" (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) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;)) (expression_statement "_Var6._M_p = local_38.second._M_dataplus._M_p;" (assignment_expression "_Var6._M_p = local_38.second._M_dataplus._M_p" (field_expression "_Var6._M_p" identifier . field_identifier) = (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (local_38.second._M_dataplus._M_p != (pointer)local_38.first) {\n    local_44 = (size_type *)local_38.first;\n    do {\n      if ((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }\n      local_44 = local_44 + 7;\n    } while ((size_type *)_Var6._M_p != local_44);\n  }" if (parenthesized_expression "(local_38.second._M_dataplus._M_p != (pointer)local_38.first)" ( (binary_expression "local_38.second._M_dataplus._M_p != (pointer)local_38.first" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(pointer)local_38.first" ( (type_descriptor "pointer" type_identifier) ) (field_expression "local_38.first" identifier . field_identifier))) )) (compound_statement "{\n    local_44 = (size_type *)local_38.first;\n    do {\n      if ((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }\n      local_44 = local_44 + 7;\n    } while ((size_type *)_Var6._M_p != local_44);\n  }" { (expression_statement "local_44 = (size_type *)local_38.first;" (assignment_expression "local_44 = (size_type *)local_38.first" identifier = (cast_expression "(size_type *)local_38.first" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier))) ;) (do_statement "do {\n      if ((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }\n      local_44 = local_44 + 7;\n    } while ((size_type *)_Var6._M_p != local_44);" do (compound_statement "{\n      if ((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }\n      local_44 = local_44 + 7;\n    }" { (if_statement "if ((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3) {\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }" if (parenthesized_expression "((undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3)" ( (binary_expression "(undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity != local_44 + 3" (cast_expression "(undefined4 *)\n          ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))->_M_allocated_capacity" (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1))" ( (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)(local_44 + 1)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n            *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(local_44 + 1)" ( (binary_expression "local_44 + 1" identifier + number_literal) ))) )) -> field_identifier)) != (binary_expression "local_44 + 3" identifier + number_literal)) )) (compound_statement "{\n        operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);\n      }" { (expression_statement "operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity);" (call_expression "operator_delete((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity)" identifier (argument_list "((undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity)" ( (cast_expression "(undefined4 *)\n                        ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))->_M_allocated_capacity" (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1))" ( (call_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)(local_44 + 1)" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                          *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) (argument_list "(local_44 + 1)" ( (binary_expression "local_44 + 1" identifier + number_literal) ))) )) -> field_identifier)) ))) ;) })) (expression_statement "local_44 = local_44 + 7;" (assignment_expression "local_44 = local_44 + 7" identifier = (binary_expression "local_44 + 7" identifier + number_literal)) ;) }) while (parenthesized_expression "((size_type *)_Var6._M_p != local_44)" ( (binary_expression "(size_type *)_Var6._M_p != local_44" (cast_expression "(size_type *)_Var6._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var6._M_p" identifier . field_identifier)) != identifier) )) ;) })) (if_statement "if ((size_type *)local_38.first != (size_type *)0x0) {\n    operator_delete((void *)local_38.first);\n  }" if (parenthesized_expression "((size_type *)local_38.first != (size_type *)0x0)" ( (binary_expression "(size_type *)local_38.first != (size_type *)0x0" (cast_expression "(size_type *)local_38.first" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier)) != (cast_expression "(size_type *)0x0" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete((void *)local_38.first);\n  }" { (expression_statement "operator_delete((void *)local_38.first);" (call_expression "operator_delete((void *)local_38.first)" identifier (argument_list "((void *)local_38.first)" ( (cast_expression "(void *)local_38.first" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier)) ))) ;) })) (if_statement "if (*lineptr != '\0') {\n    local_44 = (size_type *)\n               (this->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    if ((int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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 == 0x18) {\n      psVar8 = &local_38.second._M_string_length;\n      iVar11 = 1;\n      do {\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      } while (((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" if (parenthesized_expression "(*lineptr != '\0')" ( (binary_expression "*lineptr != '\0'" (pointer_expression "*lineptr" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_44 = (size_type *)\n               (this->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    if ((int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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 == 0x18) {\n      psVar8 = &local_38.second._M_string_length;\n      iVar11 = 1;\n      do {\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      } while (((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" { (ERROR "local_44 = (size_type *)\n               (this->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 "local_44 = (size_type *)\n               (this->directories_).\n               super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "local_44 = (size_type *)\n               (this->directories_).\n               super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "local_44 = (size_type *)\n               (this->directories_).\n               super__Vector_base<std::vector<std" (assignment_expression "local_44 = (size_type *)\n               (this->directories_).\n               super__Vector_base<std" identifier = (binary_expression "(size_type *)\n               (this->directories_).\n               super__Vector_base<std" (cast_expression "(size_type *)\n               (this->directories_).\n               super__Vector_base" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->directories_).\n               super__Vector_base" (parenthesized_expression "(this->directories_)" ( (field_expression "this->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_finish;" (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) ;) (if_statement "if ((int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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 == 0x18) {\n      psVar8 = &local_38.second._M_string_length;\n      iVar11 = 1;\n      do {\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      } while (((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);\n    }" if (parenthesized_expression "((int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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 == 0x18)" ( (binary_expression "(int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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 == 0x18" (binary_expression "(int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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        (int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" (cast_expression "(int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" ( (type_descriptor "int" primitive_type) ) (field_expression "(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" (field_expression "(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" (parenthesized_expression "(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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             )" ( (ERROR "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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)local_44 + -0xc))->\n             super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<std" (field_expression "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base" (parenthesized_expression "((pointer)((int)local_44 + -0xc))" ( (call_expression "(pointer)((int)local_44 + -0xc)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_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>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) - (cast_expression "(int)(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" ( (type_descriptor "int" primitive_type) ) (field_expression "(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" (field_expression "(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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" (parenthesized_expression "(((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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             )" ( (ERROR "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<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)local_44 + -0xc))->\n             super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base<std" (field_expression "((pointer)((int)local_44 + -0xc))->\n             super__Vector_base" (parenthesized_expression "((pointer)((int)local_44 + -0xc))" ( (call_expression "(pointer)((int)local_44 + -0xc)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_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>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier))) == number_literal) )) (compound_statement "{\n      psVar8 = &local_38.second._M_string_length;\n      iVar11 = 1;\n      do {\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      } while (((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);\n    }" { (expression_statement "psVar8 = &local_38.second._M_string_length;" (assignment_expression "psVar8 = &local_38.second._M_string_length" identifier = (pointer_expression "&local_38.second._M_string_length" & (field_expression "local_38.second._M_string_length" (field_expression "local_38.second" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (do_statement "do {\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      } while (((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0);" do (compound_statement "{\n        local_38.first = (int)psVar8;\n        sVar7 = strlen((char *)lineptr);\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);\n                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */\n        std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);\n        if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }\n        iVar11 = iVar11 + 1;\n        local_44 = (size_type *)\n                   (this->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        pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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        lineptr = lineptr + pbVar3[-1]._M_string_length + 1;\n        if (*lineptr == '\0') goto LAB_00214aff;\n      }" { (expression_statement "local_38.first = (int)psVar8;" (assignment_expression "local_38.first = (int)psVar8" (field_expression "local_38.first" identifier . field_identifier) = (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "sVar7 = strlen((char *)lineptr);" (assignment_expression "sVar7 = strlen((char *)lineptr)" identifier = (call_expression "strlen((char *)lineptr)" identifier (argument_list "((char *)lineptr)" ( (cast_expression "(char *)lineptr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0);" (binary_expression "_M_construct<char_const*>\n                  ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0)" ( (comma_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38,\n                   lineptr,lineptr + sVar7,0" (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier) , (comma_expression "lineptr,lineptr + sVar7,0" identifier , (comma_expression "lineptr + sVar7,0" (binary_expression "lineptr + sVar7" identifier + identifier) , number_literal))) ))) ;)) comment (ERROR "std::\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        ::\n        emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , 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>_>_>_>\n        ::\n        emplace_back<std" (binary_expression "allocator<char>_>_>_>\n        ::\n        emplace_back" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) 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                  ((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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38);" (binary_expression "allocator<char>_>_>\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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38)" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38)" ( (comma_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                    *)((int)local_44 + -0xc),\n                   (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38" (call_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                    *)((int)local_44 + -0xc)" (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                    *)" ( (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                    *" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*" * identifier)) )) (argument_list "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&local_38" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;) (if_statement "if ((size_type *)local_38.first != psVar8) {\n          operator_delete((void *)local_38.first);\n        }" if (parenthesized_expression "((size_type *)local_38.first != psVar8)" ( (binary_expression "(size_type *)local_38.first != psVar8" (cast_expression "(size_type *)local_38.first" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier)) != identifier) )) (compound_statement "{\n          operator_delete((void *)local_38.first);\n        }" { (expression_statement "operator_delete((void *)local_38.first);" (call_expression "operator_delete((void *)local_38.first)" identifier (argument_list "((void *)local_38.first)" ( (cast_expression "(void *)local_38.first" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_38.first" identifier . field_identifier)) ))) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (ERROR "local_44 = (size_type *)\n                   (this->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 "local_44 = (size_type *)\n                   (this->directories_).\n                   super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "local_44 = (size_type *)\n                   (this->directories_).\n                   super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "local_44 = (size_type *)\n                   (this->directories_).\n                   super__Vector_base<std::vector<std" (assignment_expression "local_44 = (size_type *)\n                   (this->directories_).\n                   super__Vector_base<std" identifier = (binary_expression "(size_type *)\n                   (this->directories_).\n                   super__Vector_base<std" (cast_expression "(size_type *)\n                   (this->directories_).\n                   super__Vector_base" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->directories_).\n                   super__Vector_base" (parenthesized_expression "(this->directories_)" ( (field_expression "this->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_finish;" (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) ;) (expression_statement "pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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;" (assignment_expression "pbVar3 = (((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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" identifier = (field_expression "(((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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" (field_expression "(((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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" (parenthesized_expression "(((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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                 )" ( (ERROR "((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<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)local_44 + -0xc))->\n                 super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base<std" (field_expression "((pointer)((int)local_44 + -0xc))->\n                 super__Vector_base" (parenthesized_expression "((pointer)((int)local_44 + -0xc))" ( (call_expression "(pointer)((int)local_44 + -0xc)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_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>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "lineptr = lineptr + pbVar3[-1]._M_string_length + 1;" (assignment_expression "lineptr = lineptr + pbVar3[-1]._M_string_length + 1" identifier = (binary_expression "lineptr + pbVar3[-1]._M_string_length + 1" (binary_expression "lineptr + pbVar3[-1]._M_string_length" identifier + (field_expression "pbVar3[-1]._M_string_length" (subscript_expression "pbVar3[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal)) ;) (if_statement "if (*lineptr == '\0') goto LAB_00214aff;" if (parenthesized_expression "(*lineptr == '\0')" ( (binary_expression "*lineptr == '\0'" (pointer_expression "*lineptr" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00214aff;" goto statement_identifier ;)) }) while (parenthesized_expression "(((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0)" ( (binary_expression "((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11 == 0" (binary_expression "((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555 - iVar11" (binary_expression "((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3) * -0x55555555" (parenthesized_expression "((int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3)" ( (binary_expression "(int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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 >> 3" (binary_expression "(int)pbVar3 -\n                (int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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" (cast_expression "(int)pbVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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" ( (type_descriptor "int" primitive_type) ) (field_expression "(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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" (field_expression "(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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" (parenthesized_expression "(((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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                     )" ( (ERROR "((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<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)local_44 + -0xc))->\n                     super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base<std" (field_expression "((pointer)((int)local_44 + -0xc))->\n                     super__Vector_base" (parenthesized_expression "((pointer)((int)local_44 + -0xc))" ( (call_expression "(pointer)((int)local_44 + -0xc)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_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>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier))) >> number_literal) )) * number_literal) - identifier) == number_literal) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");" (call_expression "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (labeled_statement "LAB_00214aff:\n  local_44 = (size_type *)(lineptr + 1);" statement_identifier : (expression_statement "local_44 = (size_type *)(lineptr + 1);" (assignment_expression "local_44 = (size_type *)(lineptr + 1)" identifier = (cast_expression "(size_type *)(lineptr + 1)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lineptr + 1)" ( (binary_expression "lineptr + 1" identifier + number_literal) )))) ;)) (if_statement "if (lineptr[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar7 = strlen((char *)local_44);\n      pbVar10 = (byte *)((int)local_44 + sVar7 + 1);\n      bVar2 = *pbVar10;\n      pbVar9 = pbVar10 + 1;\n      if ((char)bVar2 < '\0') {\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }\n      psVar8 = (size_type *)uVar12;\n      pvVar4 = (this->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      if ((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))\n      {\n        psVar8 = (size_type *)0x0;\n      }\n      pbVar10 = pbVar9 + 1;\n      if ((char)*pbVar9 < '\0') {\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }\n      pvVar5 = (this->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      if (((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      paVar1 = &local_38.second.field_2;\n      local_38.first = (int)psVar8;\n      local_38.second._M_dataplus._M_p = (pointer)paVar1;\n      sVar7 = strlen((char *)local_44);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      std::\n      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      ::\n      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                (pvVar5 + -1,&local_38);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1) {\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (size_type *)pbVar9;\n    } while (*pbVar9 != 0);\n  }" if (parenthesized_expression "(lineptr[1] != '\0')" ( (binary_expression "lineptr[1] != '\0'" (subscript_expression "lineptr[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_4c = 1;\n    do {\n      sVar7 = strlen((char *)local_44);\n      pbVar10 = (byte *)((int)local_44 + sVar7 + 1);\n      bVar2 = *pbVar10;\n      pbVar9 = pbVar10 + 1;\n      if ((char)bVar2 < '\0') {\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }\n      psVar8 = (size_type *)uVar12;\n      pvVar4 = (this->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      if ((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))\n      {\n        psVar8 = (size_type *)0x0;\n      }\n      pbVar10 = pbVar9 + 1;\n      if ((char)*pbVar9 < '\0') {\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }\n      pvVar5 = (this->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      if (((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      paVar1 = &local_38.second.field_2;\n      local_38.first = (int)psVar8;\n      local_38.second._M_dataplus._M_p = (pointer)paVar1;\n      sVar7 = strlen((char *)local_44);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      std::\n      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      ::\n      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                (pvVar5 + -1,&local_38);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1) {\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (size_type *)pbVar9;\n    } while (*pbVar9 != 0);\n  }" { (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;) (do_statement "do {\n      sVar7 = strlen((char *)local_44);\n      pbVar10 = (byte *)((int)local_44 + sVar7 + 1);\n      bVar2 = *pbVar10;\n      pbVar9 = pbVar10 + 1;\n      if ((char)bVar2 < '\0') {\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }\n      psVar8 = (size_type *)uVar12;\n      pvVar4 = (this->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      if ((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))\n      {\n        psVar8 = (size_type *)0x0;\n      }\n      pbVar10 = pbVar9 + 1;\n      if ((char)*pbVar9 < '\0') {\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }\n      pvVar5 = (this->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      if (((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      paVar1 = &local_38.second.field_2;\n      local_38.first = (int)psVar8;\n      local_38.second._M_dataplus._M_p = (pointer)paVar1;\n      sVar7 = strlen((char *)local_44);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      std::\n      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      ::\n      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                (pvVar5 + -1,&local_38);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1) {\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (size_type *)pbVar9;\n    } while (*pbVar9 != 0);" do (compound_statement "{\n      sVar7 = strlen((char *)local_44);\n      pbVar10 = (byte *)((int)local_44 + sVar7 + 1);\n      bVar2 = *pbVar10;\n      pbVar9 = pbVar10 + 1;\n      if ((char)bVar2 < '\0') {\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }\n      psVar8 = (size_type *)uVar12;\n      pvVar4 = (this->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      if ((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))\n      {\n        psVar8 = (size_type *)0x0;\n      }\n      pbVar10 = pbVar9 + 1;\n      if ((char)*pbVar9 < '\0') {\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }\n      pvVar5 = (this->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      if (((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      paVar1 = &local_38.second.field_2;\n      local_38.first = (int)psVar8;\n      local_38.second._M_dataplus._M_p = (pointer)paVar1;\n      sVar7 = strlen((char *)local_44);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);\n                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */\n      std::\n      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      ::\n      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                (pvVar5 + -1,&local_38);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1) {\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (size_type *)pbVar9;\n    }" { (expression_statement "sVar7 = strlen((char *)local_44);" (assignment_expression "sVar7 = strlen((char *)local_44)" identifier = (call_expression "strlen((char *)local_44)" identifier (argument_list "((char *)local_44)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pbVar10 = (byte *)((int)local_44 + sVar7 + 1);" (assignment_expression "pbVar10 = (byte *)((int)local_44 + sVar7 + 1)" identifier = (cast_expression "(byte *)((int)local_44 + sVar7 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + sVar7 + 1)" ( (binary_expression "(int)local_44 + sVar7 + 1" (binary_expression "(int)local_44 + sVar7" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "bVar2 = *pbVar10;" (assignment_expression "bVar2 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (expression_statement "pbVar9 = pbVar10 + 1;" (assignment_expression "pbVar9 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (if_statement "if ((char)bVar2 < '\0') {\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }" { (expression_statement "uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2);" (assignment_expression "uVar12 = read_unsigned_LEB_128_x(pbVar9,&len,bVar2)" identifier = (call_expression "read_unsigned_LEB_128_x(pbVar9,&len,bVar2)" identifier (argument_list "(pbVar9,&len,bVar2)" ( identifier , (pointer_expression "&len" & identifier) , identifier )))) ;) (expression_statement "pbVar9 = pbVar10 + len;" (assignment_expression "pbVar9 = pbVar10 + len" identifier = (binary_expression "pbVar10 + len" identifier + identifier)) ;) }) (else_clause "else {\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }" else (compound_statement "{\n        len = 1;\n        uVar12 = (ulonglong)bVar2;\n      }" { (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "uVar12 = (ulonglong)bVar2;" (assignment_expression "uVar12 = (ulonglong)bVar2" identifier = (cast_expression "(ulonglong)bVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) }))) (expression_statement "psVar8 = (size_type *)uVar12;" (assignment_expression "psVar8 = (size_type *)uVar12" identifier = (cast_expression "(size_type *)uVar12" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "pvVar4 = (this->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 "pvVar4 = (this->directories_).\n               super__Vector_base<std::vector<std::__cxx11::basic_string<char,_std" (binary_expression "pvVar4 = (this->directories_).\n               super__Vector_base<std::vector<std::__cxx11::basic_string<char" (binary_expression "pvVar4 = (this->directories_).\n               super__Vector_base<std::vector<std" (assignment_expression "pvVar4 = (this->directories_).\n               super__Vector_base<std" identifier = (binary_expression "(this->directories_).\n               super__Vector_base<std" (field_expression "(this->directories_).\n               super__Vector_base" (parenthesized_expression "(this->directories_)" ( (field_expression "this->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_finish;" (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) ;) (if_statement "if ((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))\n      {\n        psVar8 = (size_type *)0x0;\n      }" if (parenthesized_expression "((uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20))" ( (binary_expression "(uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)) <= (uint)(uVar12 >> 0x20)" (call_expression "(uint)(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555))" ( (binary_expression "psVar8 < (undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)" identifier < (cast_expression "(undefined4 *)\n                          (((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555)" ( (binary_expression "((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3) * -0x55555555" (parenthesized_expression "((int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 >> 3)" ( (ERROR "(int)pvVar4[-1].\n                                 super__Vector_base<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                            (int)pvVar4[-1].\n                                 super__Vector_base<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 "(int)pvVar4[-1].\n                                 super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "(int)pvVar4[-1].\n                                 super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "(int)pvVar4[-1].\n                                 super__Vector_base<std" (cast_expression "(int)pvVar4[-1].\n                                 super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pvVar4[-1].\n                                 super__Vector_base" (subscript_expression "pvVar4[-1]" identifier [ number_literal ]) . field_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>_>_>_>\n                                 ._M_impl._M_finish -\n                            (int)pvVar4[-1].\n                                 super__Vector_base<std" (binary_expression "allocator<char>_>_>_>\n                                 ._M_impl._M_finish -\n                            (int)pvVar4[-1].\n                                 super__Vector_base" (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" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)pvVar4[-1].\n                                 super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pvVar4[-1].\n                                 super__Vector_base" (subscript_expression "pvVar4[-1]" identifier [ number_literal ]) . field_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 >> 3" (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" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )) * number_literal) )))) ))) <= (call_expression "(uint)(uVar12 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 >> 0x20)" ( (binary_expression "uVar12 >> 0x20" identifier >> number_literal) )))) )) (compound_statement "{\n        psVar8 = (size_type *)0x0;\n      }" { (expression_statement "psVar8 = (size_type *)0x0;" (assignment_expression "psVar8 = (size_type *)0x0" identifier = (cast_expression "(size_type *)0x0" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pbVar10 = pbVar9 + 1;" (assignment_expression "pbVar10 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (if_statement "if ((char)*pbVar9 < '\0') {\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }\n      else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }" if (parenthesized_expression "((char)*pbVar9 < '\0')" ( (binary_expression "(char)*pbVar9 < '\0'" (cast_expression "(char)*pbVar9" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar9" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);\n        pbVar10 = pbVar9 + len;\n        bVar2 = *pbVar10;\n        pbVar9 = pbVar10 + 1;\n        if (-1 < (char)bVar2) goto LAB_00214b77;\nLAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);\n        pbVar9 = pbVar10 + len;\n      }" { (expression_statement "read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9);" (call_expression "read_unsigned_LEB_128_x(pbVar10,&len,*pbVar9)" identifier (argument_list "(pbVar10,&len,*pbVar9)" ( identifier , (pointer_expression "&len" & identifier) , (pointer_expression "*pbVar9" * identifier) ))) ;) (expression_statement "pbVar10 = pbVar9 + len;" (assignment_expression "pbVar10 = pbVar9 + len" identifier = (binary_expression "pbVar9 + len" identifier + identifier)) ;) (expression_statement "bVar2 = *pbVar10;" (assignment_expression "bVar2 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (expression_statement "pbVar9 = pbVar10 + 1;" (assignment_expression "pbVar9 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)bVar2) goto LAB_00214b77;" if (parenthesized_expression "(-1 < (char)bVar2)" ( (binary_expression "-1 < (char)bVar2" number_literal < (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00214b77;" goto statement_identifier ;)) (labeled_statement "LAB_00214c8c:\n        read_unsigned_LEB_128_x(pbVar9,&len,bVar2);" statement_identifier : (expression_statement "read_unsigned_LEB_128_x(pbVar9,&len,bVar2);" (call_expression "read_unsigned_LEB_128_x(pbVar9,&len,bVar2)" identifier (argument_list "(pbVar9,&len,bVar2)" ( identifier , (pointer_expression "&len" & identifier) , identifier ))) ;)) (expression_statement "pbVar9 = pbVar10 + len;" (assignment_expression "pbVar9 = pbVar10 + len" identifier = (binary_expression "pbVar10 + len" identifier + identifier)) ;) }) (else_clause "else {\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }" else (compound_statement "{\n        bVar2 = *pbVar10;\n        len = 1;\n        pbVar9 = pbVar9 + 2;\n        if ((char)bVar2 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        len = 1;\n      }" { (expression_statement "bVar2 = *pbVar10;" (assignment_expression "bVar2 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "pbVar9 = pbVar9 + 2;" (assignment_expression "pbVar9 = pbVar9 + 2" identifier = (binary_expression "pbVar9 + 2" identifier + number_literal)) ;) (if_statement "if ((char)bVar2 < '\0') goto LAB_00214c8c;" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00214c8c;" goto statement_identifier ;)) (labeled_statement "LAB_00214b77:\n        len = 1;" statement_identifier : (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;)) }))) (ERROR "pvVar5 = (this->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 "pvVar5 = (this->files_).\n               super__Vector_base<std::vector<std::pair<int,_std" (binary_expression "pvVar5 = (this->files_).\n               super__Vector_base<std::vector<std::pair<int" (binary_expression "pvVar5 = (this->files_).\n               super__Vector_base<std::vector<std" (assignment_expression "pvVar5 = (this->files_).\n               super__Vector_base<std" identifier = (binary_expression "(this->files_).\n               super__Vector_base<std" (field_expression "(this->files_).\n               super__Vector_base" (parenthesized_expression "(this->files_)" ( (field_expression "this->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_finish;" (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) ;) (if_statement "if (((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" if (parenthesized_expression "(((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0)" ( (binary_expression "((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c != 0" (binary_expression "((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249 - local_4c" (binary_expression "((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2) * -0x49249249" (parenthesized_expression "((int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 >> 2)" ( (ERROR "(int)pvVar5[-1].\n                super__Vector_base<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           (int)pvVar5[-1].\n                super__Vector_base<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 "(int)pvVar5[-1].\n                super__Vector_base<std::pair<int,_std" (binary_expression "(int)pvVar5[-1].\n                super__Vector_base<std::pair<int" (binary_expression "(int)pvVar5[-1].\n                super__Vector_base<std" (cast_expression "(int)pvVar5[-1].\n                super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pvVar5[-1].\n                super__Vector_base" (subscript_expression "pvVar5[-1]" identifier [ number_literal ]) . field_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>_>_>_>_>\n                ._M_impl._M_finish -\n           (int)pvVar5[-1].\n                super__Vector_base<std" (binary_expression "allocator<char>_>_>_>_>\n                ._M_impl._M_finish -\n           (int)pvVar5[-1].\n                super__Vector_base" (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" identifier < identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)pvVar5[-1].\n                super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pvVar5[-1].\n                super__Vector_base" (subscript_expression "pvVar5[-1]" identifier [ number_literal ]) . field_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 >> 2" (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" identifier < identifier) > identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )) * number_literal) - identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");" (call_expression "do_gold_unreachable("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (expression_statement "paVar1 = &local_38.second.field_2;" (assignment_expression "paVar1 = &local_38.second.field_2" identifier = (pointer_expression "&local_38.second.field_2" & (field_expression "local_38.second.field_2" (field_expression "local_38.second" identifier . field_identifier) . field_identifier))) ;) (expression_statement "local_38.first = (int)psVar8;" (assignment_expression "local_38.first = (int)psVar8" (field_expression "local_38.first" identifier . field_identifier) = (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_38.second._M_dataplus._M_p = (pointer)paVar1;" (assignment_expression "local_38.second._M_dataplus._M_p = (pointer)paVar1" (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "sVar7 = strlen((char *)local_44);" (assignment_expression "sVar7 = strlen((char *)local_44)" identifier = (call_expression "strlen((char *)local_44)" identifier (argument_list "((char *)local_44)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0);" (binary_expression "_M_construct<char_const*>(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0)" ( (comma_expression "&local_38.second,local_44,(byte *)((int)local_44 + sVar7),0" (pointer_expression "&local_38.second" & (field_expression "local_38.second" identifier . field_identifier)) , (comma_expression "local_44,(byte *)((int)local_44 + sVar7),0" identifier , (comma_expression "(byte *)((int)local_44 + sVar7),0" (cast_expression "(byte *)((int)local_44 + sVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + sVar7)" ( (binary_expression "(int)local_44 + sVar7" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal))) ))) ;)) comment (ERROR "std::\n      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      ::\n      emplace_back<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::\n      vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::\n      vector<std::pair<int,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (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>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , 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>_>_>_>_>\n      ::\n      emplace_back<std" (binary_expression "allocator<char>_>_>_>_>\n      ::\n      emplace_back" (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) < 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                (pvVar5 + -1,&local_38);" (binary_expression "allocator<char>_>_>_>\n                (pvVar5 + -1,&local_38)" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (parenthesized_expression "(pvVar5 + -1,&local_38)" ( (comma_expression "pvVar5 + -1,&local_38" (binary_expression "pvVar5 + -1" identifier + number_literal) , (pointer_expression "&local_38" & identifier)) ))) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1) {\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p != paVar1" (binary_expression "allocator<char>_>_9\n           *)local_38.second._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_38.second._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(local_38.second._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(local_38.second._M_dataplus._M_p);" (call_expression "operator_delete(local_38.second._M_dataplus._M_p)" identifier (argument_list "(local_38.second._M_dataplus._M_p)" ( (field_expression "local_38.second._M_dataplus._M_p" (field_expression "local_38.second._M_dataplus" (field_expression "local_38.second" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "local_44 = (size_type *)pbVar9;" (assignment_expression "local_44 = (size_type *)pbVar9" identifier = (cast_expression "(size_type *)pbVar9" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(*pbVar9 != 0)" ( (binary_expression "*pbVar9 != 0" (pointer_expression "*pbVar9" * identifier) != number_literal) )) ;) })) (return_statement "return (byte *)((int)local_44 + 1);" return (cast_expression "(byte *)((int)local_44 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 1)" ( (binary_expression "(int)local_44 + 1" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (ERROR "}" }))
(translation_unit "byte * FUN_002148a0(int param_1,char *param_2)\n\n{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    \n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    \n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}\n\n" (function_definition "byte * FUN_002148a0(int param_1,char *param_2)\n\n{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    \n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    \n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}" type_identifier (pointer_declarator "* FUN_002148a0(int param_1,char *param_2)" * (function_declarator "FUN_002148a0(int param_1,char *param_2)" identifier (parameter_list "(int param_1,char *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    \n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    \n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int ***pppiVar2;" primitive_type (pointer_declarator "***pppiVar2" * (pointer_declarator "**pppiVar2" * (pointer_declarator "*pppiVar2" * identifier))) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int ****ppppiVar4;" primitive_type (pointer_declarator "****ppppiVar4" * (pointer_declarator "***ppppiVar4" * (pointer_declarator "**ppppiVar4" * (pointer_declarator "*ppppiVar4" * identifier)))) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ulonglong uVar8;" type_identifier identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int ***local_44;" primitive_type (pointer_declarator "***local_44" * (pointer_declarator "**local_44" * (pointer_declarator "*local_44" * identifier))) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int ***local_38;" primitive_type (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))) ;) (declaration "int ***local_34;" primitive_type (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))) ;) (declaration "int ***local_30;" primitive_type (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))) ;) (declaration "int **local_2c [7];" primitive_type (pointer_declarator "**local_2c [7]" * (pointer_declarator "*local_2c [7]" * (array_declarator "local_2c [7]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0x74) + 1;" (assignment_expression "iVar7 = *(int *)(param_1 + 0x74) + 1" identifier = (binary_expression "*(int *)(param_1 + 0x74) + 1" (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x74) = iVar7;" (assignment_expression "*(int *)(param_1 + 0x74) = iVar7" (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" if (parenthesized_expression "(iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555)" ( (binary_expression "iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555" identifier != (binary_expression "(*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555" (parenthesized_expression "(*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2)" ( (binary_expression "*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2" (binary_expression "*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c)" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" { (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (if_statement "if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }" if (parenthesized_expression "(iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555)" ( (binary_expression "iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555" identifier != (binary_expression "(*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555" (parenthesized_expression "(*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2)" ( (binary_expression "*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2" (binary_expression "*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68)" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }" { (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2)" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2)" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") , identifier ))) ;) })) (expression_statement "local_38 = (int ***)0x0;" (assignment_expression "local_38 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_34 = (int ***)0x0;" (assignment_expression "local_34 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_30 = (int ***)0x0;" (assignment_expression "local_30 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_38 = (int ***)FUN_00246670(0x18);" (assignment_expression "local_38 = (int ***)FUN_00246670(0x18)" identifier = (cast_expression "(int ***)FUN_00246670(0x18)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "FUN_00246670(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "local_38[1] = (int **)0x0;" (assignment_expression "local_38[1] = (int **)0x0" (subscript_expression "local_38[1]" identifier [ number_literal ]) = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_34 = local_38 + 6;" (assignment_expression "local_34 = local_38 + 6" identifier = (binary_expression "local_38 + 6" identifier + number_literal)) ;) (expression_statement "*local_38 = (int **)(local_38 + 2);" (assignment_expression "*local_38 = (int **)(local_38 + 2)" (pointer_expression "*local_38" * identifier) = (cast_expression "(int **)(local_38 + 2)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 2)" ( (binary_expression "local_38 + 2" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)(local_38 + 2) = 0;" (assignment_expression "*(undefined1 *)(local_38 + 2) = 0" (pointer_expression "*(undefined1 *)(local_38 + 2)" * (cast_expression "(undefined1 *)(local_38 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 2)" ( (binary_expression "local_38 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = local_34;" (assignment_expression "local_30 = local_34" identifier = identifier) ;) (expression_statement "FUN_002137c0(param_1 + 0x5c,&local_38);" (call_expression "FUN_002137c0(param_1 + 0x5c,&local_38)" identifier (argument_list "(param_1 + 0x5c,&local_38)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "pppiVar2 = local_34;" (assignment_expression "pppiVar2 = local_34" identifier = identifier) ;) (if_statement "if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }" if (parenthesized_expression "(local_34 != local_38)" ( (binary_expression "local_34 != local_38" identifier != identifier) )) (compound_statement "{\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }" { (expression_statement "local_44 = local_38;" (assignment_expression "local_44 = local_38" identifier = identifier) ;) (do_statement "do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);" do (compound_statement "{\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    }" { (if_statement "if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }" if (parenthesized_expression "((int ***)*local_44 != local_44 + 2)" ( (binary_expression "(int ***)*local_44 != local_44 + 2" (cast_expression "(int ***)*local_44" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*local_44" * identifier)) != (binary_expression "local_44 + 2" identifier + number_literal)) )) (compound_statement "{\n        FUN_00248220(*local_44);\n      }" { (expression_statement "FUN_00248220(*local_44);" (call_expression "FUN_00248220(*local_44)" identifier (argument_list "(*local_44)" ( (pointer_expression "*local_44" * identifier) ))) ;) })) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" identifier = (binary_expression "local_44 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppiVar2 != local_44)" ( (binary_expression "pppiVar2 != local_44" identifier != identifier) )) ;) })) (if_statement "if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }" if (parenthesized_expression "(local_38 != (int ***)0x0)" ( (binary_expression "local_38 != (int ***)0x0" identifier != (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_38);\n  }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (expression_statement "local_38 = (int ***)0x0;" (assignment_expression "local_38 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_34 = (int ***)0x0;" (assignment_expression "local_34 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_30 = (int ***)0x0;" (assignment_expression "local_30 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_38 = (int ***)FUN_00246670(0x1c);" (assignment_expression "local_38 = (int ***)FUN_00246670(0x1c)" identifier = (cast_expression "(int ***)FUN_00246670(0x1c)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "FUN_00246670(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "local_34 = (int ***)((int ****)local_38 + 7);" (assignment_expression "local_34 = (int ***)((int ****)local_38 + 7)" identifier = (cast_expression "(int ***)((int ****)local_38 + 7)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int ****)local_38 + 7)" ( (binary_expression "(int ****)local_38 + 7" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 *)((int ****)local_38 + 3) = 0;" (assignment_expression "*(undefined1 *)((int ****)local_38 + 3) = 0" (pointer_expression "*(undefined1 *)((int ****)local_38 + 3)" * (cast_expression "(undefined1 *)((int ****)local_38 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int ****)local_38 + 3)" ( (binary_expression "(int ****)local_38 + 3" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*local_38 = (int **)0x0;" (assignment_expression "*local_38 = (int **)0x0" (pointer_expression "*local_38" * identifier) = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);" (assignment_expression "((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3)" (subscript_expression "((int ****)local_38)[1]" (parenthesized_expression "((int ****)local_38)" ( (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) )) [ number_literal ]) = (cast_expression "(int ***)((int ****)local_38 + 3)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int ****)local_38 + 3)" ( (binary_expression "(int ****)local_38 + 3" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) + number_literal) )))) ;) (expression_statement "((int ****)local_38)[2] = (int ***)0x0;" (assignment_expression "((int ****)local_38)[2] = (int ***)0x0" (subscript_expression "((int ****)local_38)[2]" (parenthesized_expression "((int ****)local_38)" ( (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) )) [ number_literal ]) = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_30 = local_34;" (assignment_expression "local_30 = local_34" identifier = identifier) ;) (expression_statement "FUN_00213a90(param_1 + 0x68,&local_38);" (call_expression "FUN_00213a90(param_1 + 0x68,&local_38)" identifier (argument_list "(param_1 + 0x68,&local_38)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "pppiVar2 = local_34;" (assignment_expression "pppiVar2 = local_34" identifier = identifier) ;) (if_statement "if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }" if (parenthesized_expression "(local_34 != local_38)" ( (binary_expression "local_34 != local_38" identifier != identifier) )) (compound_statement "{\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }" { (expression_statement "local_44 = local_38;" (assignment_expression "local_44 = local_38" identifier = identifier) ;) (do_statement "do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);" do (compound_statement "{\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    }" { (if_statement "if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }" if (parenthesized_expression "((int ***)local_44[1] != local_44 + 3)" ( (binary_expression "(int ***)local_44[1] != local_44 + 3" (cast_expression "(int ***)local_44[1]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "local_44[1]" identifier [ number_literal ])) != (binary_expression "local_44 + 3" identifier + number_literal)) )) (compound_statement "{\n        FUN_00248220(local_44[1]);\n      }" { (expression_statement "FUN_00248220(local_44[1]);" (call_expression "FUN_00248220(local_44[1])" identifier (argument_list "(local_44[1])" ( (subscript_expression "local_44[1]" identifier [ number_literal ]) ))) ;) })) (expression_statement "local_44 = local_44 + 7;" (assignment_expression "local_44 = local_44 + 7" identifier = (binary_expression "local_44 + 7" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppiVar2 != local_44)" ( (binary_expression "pppiVar2 != local_44" identifier != identifier) )) ;) })) (if_statement "if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }" if (parenthesized_expression "((int ****)local_38 != (int ****)0x0)" ( (binary_expression "(int ****)local_38 != (int ****)0x0" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_38);\n  }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (if_statement "if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" if (parenthesized_expression "(*param_2 != '\0')" ( (binary_expression "*param_2 != '\0'" (pointer_expression "*param_2" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" { (expression_statement "local_44 = *(int ****)(param_1 + 0x60);" (assignment_expression "local_44 = *(int ****)(param_1 + 0x60)" identifier = (pointer_expression "*(int ****)(param_1 + 0x60)" * (cast_expression "(int ****)(param_1 + 0x60)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }" if (parenthesized_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18)" ( (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18" (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc)" (pointer_expression "*(int *)((int)local_44 + -8)" * (cast_expression "(int *)((int)local_44 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -8)" ( (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - (pointer_expression "*(int *)((int)local_44 + -0xc)" * (cast_expression "(int *)((int)local_44 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) == number_literal) )) (compound_statement "{\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (do_statement "do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);" do (compound_statement "{\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      }" { (expression_statement "local_38 = (int ***)&local_30;" (assignment_expression "local_38 = (int ***)&local_30" identifier = (cast_expression "(int ***)&local_30" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&local_30" & identifier))) ;) (expression_statement "sVar3 = strlen(param_2);" (assignment_expression "sVar3 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);" (call_expression "FUN_000a8880(&local_38,param_2,param_2 + sVar3,0)" identifier (argument_list "(&local_38,param_2,param_2 + sVar3,0)" ( (pointer_expression "&local_38" & identifier) , identifier , (binary_expression "param_2 + sVar3" identifier + identifier) , number_literal ))) ;) (expression_statement "FUN_000d5a90((int)local_44 + -0xc,&local_38);" (call_expression "FUN_000d5a90((int)local_44 + -0xc,&local_38)" identifier (argument_list "((int)local_44 + -0xc,&local_38)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (if_statement "if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }" if (parenthesized_expression "((int ****)local_38 != &local_30)" ( (binary_expression "(int ****)local_38 != &local_30" (cast_expression "(int ****)local_38" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (pointer_expression "&local_30" & identifier)) )) (compound_statement "{\n          FUN_00248220(local_38);\n        }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = *(int ****)(param_1 + 0x60);" (assignment_expression "local_44 = *(int ****)(param_1 + 0x60)" identifier = (pointer_expression "*(int ****)(param_1 + 0x60)" * (cast_expression "(int ****)(param_1 + 0x60)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;" (assignment_expression "param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1" identifier = (binary_expression "param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1" (binary_expression "param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14)" identifier + (pointer_expression "*(int *)(*(int *)((int)local_44 + -8) + -0x14)" * (cast_expression "(int *)(*(int *)((int)local_44 + -8) + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_44 + -8) + -0x14)" ( (binary_expression "*(int *)((int)local_44 + -8) + -0x14" (pointer_expression "*(int *)((int)local_44 + -8)" * (cast_expression "(int *)((int)local_44 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -8)" ( (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) + number_literal)) ;) (if_statement "if (*param_2 == '\0') goto LAB_00214aff;" if (parenthesized_expression "(*param_2 == '\0')" ( (binary_expression "*param_2 == '\0'" (pointer_expression "*param_2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00214aff;" goto statement_identifier ;)) }) while (parenthesized_expression "((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0)" ( (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0" (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7" (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555" (parenthesized_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3)" ( (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3" (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc)" (pointer_expression "*(int *)((int)local_44 + -8)" * (cast_expression "(int *)((int)local_44 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -8)" ( (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - (pointer_expression "*(int *)((int)local_44 + -0xc)" * (cast_expression "(int *)((int)local_44 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + -0xc)" ( (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) >> number_literal) )) * number_literal) - identifier) == number_literal) )) ;) })) (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (labeled_statement "LAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);" statement_identifier : (expression_statement "local_44 = (int ***)(param_2 + 1);" (assignment_expression "local_44 = (int ***)(param_2 + 1)" identifier = (cast_expression "(int ***)(param_2 + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_2 + 1)" ( (binary_expression "param_2 + 1" identifier + number_literal) )))) ;)) (if_statement "if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }" if (parenthesized_expression "(param_2[1] != '\0')" ( (binary_expression "param_2[1] != '\0'" (subscript_expression "param_2[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }" { (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" identifier = number_literal) ;) (do_statement "do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);" do (compound_statement "{\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    }" { (expression_statement "sVar3 = strlen((char *)local_44);" (assignment_expression "sVar3 = strlen((char *)local_44)" identifier = (call_expression "strlen((char *)local_44)" identifier (argument_list "((char *)local_44)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pbVar6 = (byte *)((int)local_44 + sVar3 + 1);" (assignment_expression "pbVar6 = (byte *)((int)local_44 + sVar3 + 1)" identifier = (cast_expression "(byte *)((int)local_44 + sVar3 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + sVar3 + 1)" ( (binary_expression "(int)local_44 + sVar3 + 1" (binary_expression "(int)local_44 + sVar3" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "pbVar5 = pbVar6 + 1;" (assignment_expression "pbVar5 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (if_statement "if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }" { (expression_statement "uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);" (assignment_expression "uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1)" identifier = (call_expression "FUN_00106460(pbVar5,&local_3c,(uint)bVar1)" identifier (argument_list "(pbVar5,&local_3c,(uint)bVar1)" ( identifier , (pointer_expression "&local_3c" & identifier) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pbVar5 = pbVar6 + local_3c;" (assignment_expression "pbVar5 = pbVar6 + local_3c" identifier = (binary_expression "pbVar6 + local_3c" identifier + identifier)) ;) }) (else_clause "else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" else (compound_statement "{\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" { (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "uVar8 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar8 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) (expression_statement "ppppiVar4 = (int ****)uVar8;" (assignment_expression "ppppiVar4 = (int ****)uVar8" identifier = (cast_expression "(int ****)uVar8" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }" if (parenthesized_expression "((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20))" ( (binary_expression "(uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)" (call_expression "(uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555))" ( (binary_expression "ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" identifier < (cast_expression "(int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" ( (binary_expression "(*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555" (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3" (binary_expression "*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x60) + -8)" * (cast_expression "(int *)(*(int *)(param_1 + 0x60) + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x60) + -8)" ( (binary_expression "*(int *)(param_1 + 0x60) + -8" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) )))) - (pointer_expression "*(int *)(*(int *)(param_1 + 0x60) + -0xc)" * (cast_expression "(int *)(*(int *)(param_1 + 0x60) + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x60) + -0xc)" ( (binary_expression "*(int *)(param_1 + 0x60) + -0xc" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) + number_literal) ))))) >> number_literal) )) * number_literal) )))) ))) <= (call_expression "(uint)(uVar8 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 0x20)" ( (binary_expression "uVar8 >> 0x20" identifier >> number_literal) )))) )) (compound_statement "{\n        ppppiVar4 = (int ****)0x0;\n      }" { (expression_statement "ppppiVar4 = (int ****)0x0;" (assignment_expression "ppppiVar4 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) (expression_statement "pbVar6 = pbVar5 + 1;" (assignment_expression "pbVar6 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (if_statement "if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" if (parenthesized_expression "((char)*pbVar5 < '\0')" ( (binary_expression "(char)*pbVar5 < '\0'" (cast_expression "(char)*pbVar5" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar5" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }" { (expression_statement "FUN_00106460(pbVar6,&local_3c,*pbVar5);" (call_expression "FUN_00106460(pbVar6,&local_3c,*pbVar5)" identifier (argument_list "(pbVar6,&local_3c,*pbVar5)" ( identifier , (pointer_expression "&local_3c" & identifier) , (pointer_expression "*pbVar5" * identifier) ))) ;) (expression_statement "pbVar6 = pbVar5 + local_3c;" (assignment_expression "pbVar6 = pbVar5 + local_3c" identifier = (binary_expression "pbVar5 + local_3c" identifier + identifier)) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "pbVar5 = pbVar6 + 1;" (assignment_expression "pbVar5 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)bVar1) goto LAB_00214b77;" if (parenthesized_expression "(-1 < (char)bVar1)" ( (binary_expression "-1 < (char)bVar1" number_literal < (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00214b77;" goto statement_identifier ;)) (labeled_statement "LAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);" statement_identifier : (expression_statement "FUN_00106460(pbVar5,&local_3c,bVar1);" (call_expression "FUN_00106460(pbVar5,&local_3c,bVar1)" identifier (argument_list "(pbVar5,&local_3c,bVar1)" ( identifier , (pointer_expression "&local_3c" & identifier) , identifier ))) ;)) (expression_statement "pbVar5 = pbVar6 + local_3c;" (assignment_expression "pbVar5 = pbVar6 + local_3c" identifier = (binary_expression "pbVar6 + local_3c" identifier + identifier)) ;) }) (else_clause "else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" else (compound_statement "{\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" { (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "pbVar5 = pbVar5 + 2;" (assignment_expression "pbVar5 = pbVar5 + 2" identifier = (binary_expression "pbVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((char)bVar1 < '\0') goto LAB_00214c8c;" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00214c8c;" goto statement_identifier ;)) (labeled_statement "LAB_00214b77:\n        local_3c = 1;" statement_identifier : (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;)) }))) (expression_statement "iVar7 = *(int *)(param_1 + 0x6c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x6c)" identifier = (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" if (parenthesized_expression "((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0)" ( (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0" (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c" (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249" (parenthesized_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2)" ( (binary_expression "*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2" (binary_expression "*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc)" (pointer_expression "*(int *)(iVar7 + -8)" * (cast_expression "(int *)(iVar7 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -8)" ( (binary_expression "iVar7 + -8" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar7 + -0xc)" * (cast_expression "(int *)(iVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0xc)" ( (binary_expression "iVar7 + -0xc" identifier + number_literal) ))))) >> number_literal) )) * number_literal) - identifier) != number_literal) )) (compound_statement "{\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" { (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" identifier (argument_list "("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" ( (string_literal ""../../gold/dwarf_reader.cc"" " string_content ") , number_literal , (string_literal ""read_header_tables"" " string_content ") ))) ;) })) (expression_statement "local_38 = (int ***)ppppiVar4;" (assignment_expression "local_38 = (int ***)ppppiVar4" identifier = (cast_expression "(int ***)ppppiVar4" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_34 = local_2c;" (assignment_expression "local_34 = local_2c" identifier = identifier) ;) (expression_statement "sVar3 = strlen((char *)local_44);" (assignment_expression "sVar3 = strlen((char *)local_44)" identifier = (call_expression "strlen((char *)local_44)" identifier (argument_list "((char *)local_44)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);" (call_expression "FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0)" identifier (argument_list "(&local_34,local_44,(byte *)((int)local_44 + sVar3),0)" ( (pointer_expression "&local_34" & identifier) , identifier , (cast_expression "(byte *)((int)local_44 + sVar3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + sVar3)" ( (binary_expression "(int)local_44 + sVar3" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal ))) ;) (expression_statement "FUN_00213dc0(iVar7 + -0xc,&local_38);" (call_expression "FUN_00213dc0(iVar7 + -0xc,&local_38)" identifier (argument_list "(iVar7 + -0xc,&local_38)" ( (binary_expression "iVar7 + -0xc" identifier + number_literal) , (pointer_expression "&local_38" & identifier) ))) ;) (if_statement "if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n        FUN_00248220(local_34);\n      }" { (expression_statement "FUN_00248220(local_34);" (call_expression "FUN_00248220(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "local_44 = (int ***)pbVar5;" (assignment_expression "local_44 = (int ***)pbVar5" identifier = (cast_expression "(int ***)pbVar5" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) }) while (parenthesized_expression "(*pbVar5 != 0)" ( (binary_expression "*pbVar5 != 0" (pointer_expression "*pbVar5" * identifier) != number_literal) )) ;) })) (return_statement "return (byte *)((int)local_44 + 1);" return (cast_expression "(byte *)((int)local_44 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 1)" ( (binary_expression "(int)local_44 + 1" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (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) ))))) >> LIT) )) * LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (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) ))))) >> LIT) )) * LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) })) (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 (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) ))))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) >> LIT) )) * LIT) - IDENT) == LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) >> LIT) )) * LIT) )))) ))) <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (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) ))))) >> LIT) )) * LIT) - IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) })))
(function_definition "byte * FUN_002148a0(int param_1,char *param_2)\n\n{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    \n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    \n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}" (type_identifier "byte") (pointer_declarator "* FUN_002148a0(int param_1,char *param_2)" (* "*") (function_declarator "FUN_002148a0(int param_1,char *param_2)" (identifier "FUN_002148a0") (parameter_list "(int param_1,char *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  byte bVar1;\n  int ***pppiVar2;\n  size_t sVar3;\n  int ****ppppiVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  int iVar7;\n  ulonglong uVar8;\n  int local_4c;\n  int ***local_44;\n  int local_3c;\n  int ***local_38;\n  int ***local_34;\n  int ***local_30;\n  int **local_2c [7];\n  \n  iVar7 = *(int *)(param_1 + 0x74) + 1;\n  *(int *)(param_1 + 0x74) = iVar7;\n  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }\n  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x18);\n  local_38[1] = (int **)0x0;\n  local_34 = local_38 + 6;\n  *local_38 = (int **)(local_38 + 2);\n  *(undefined1 *)(local_38 + 2) = 0;\n  local_30 = local_34;\n                    \n  FUN_002137c0(param_1 + 0x5c,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }\n  if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }\n  local_38 = (int ***)0x0;\n  local_34 = (int ***)0x0;\n  local_30 = (int ***)0x0;\n  local_38 = (int ***)FUN_00246670(0x1c);\n  local_34 = (int ***)((int ****)local_38 + 7);\n  *(undefined1 *)((int ****)local_38 + 3) = 0;\n  *local_38 = (int **)0x0;\n  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);\n  ((int ****)local_38)[2] = (int ***)0x0;\n  local_30 = local_34;\n                    \n  FUN_00213a90(param_1 + 0x68,&local_38);\n  pppiVar2 = local_34;\n  if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }\n  if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }\n  if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }\nLAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);\n  if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }\n  return (byte *)((int)local_44 + 1);\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int ***pppiVar2;" (primitive_type "int") (pointer_declarator "***pppiVar2" (* "*") (pointer_declarator "**pppiVar2" (* "*") (pointer_declarator "*pppiVar2" (* "*") (identifier "pppiVar2")))) (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "int ****ppppiVar4;" (primitive_type "int") (pointer_declarator "****ppppiVar4" (* "*") (pointer_declarator "***ppppiVar4" (* "*") (pointer_declarator "**ppppiVar4" (* "*") (pointer_declarator "*ppppiVar4" (* "*") (identifier "ppppiVar4"))))) (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "ulonglong uVar8;" (type_identifier "ulonglong") (identifier "uVar8") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "int ***local_44;" (primitive_type "int") (pointer_declarator "***local_44" (* "*") (pointer_declarator "**local_44" (* "*") (pointer_declarator "*local_44" (* "*") (identifier "local_44")))) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "int ***local_38;" (primitive_type "int") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38")))) (; ";")) (declaration "int ***local_34;" (primitive_type "int") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34")))) (; ";")) (declaration "int ***local_30;" (primitive_type "int") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30")))) (; ";")) (declaration "int **local_2c [7];" (primitive_type "int") (pointer_declarator "**local_2c [7]" (* "*") (pointer_declarator "*local_2c [7]" (* "*") (array_declarator "local_2c [7]" (identifier "local_2c") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 0x74) + 1;" (assignment_expression "iVar7 = *(int *)(param_1 + 0x74) + 1" (identifier "iVar7") (= "=") (binary_expression "*(int *)(param_1 + 0x74) + 1" (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x74) = iVar7;" (assignment_expression "*(int *)(param_1 + 0x74) = iVar7" (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" (if "if") (parenthesized_expression "(iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555)" (( "(") (binary_expression "iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555" (identifier "iVar7") (!= "!=") (binary_expression "(*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555" (parenthesized_expression "(*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2)" (( "(") (binary_expression "*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2" (binary_expression "*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c)" (pointer_expression "*(int *)(param_1 + 0x60)" (* "*") (cast_expression "(int *)(param_1 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x5c)" (* "*") (cast_expression "(int *)(param_1 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x55555555"))) () ")")) (compound_statement "{\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");\n  }" ({ "{") (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" (identifier "FUN_000da200") (argument_list "("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables")" (( "(") (string_literal ""../../gold/dwarf_reader.cc"" (" """) (string_content "../../gold/dwarf_reader.cc") (" """)) (, ",") (number_literal "0x6b6") (, ",") (string_literal ""read_header_tables"" (" """) (string_content "read_header_tables") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }" (if "if") (parenthesized_expression "(iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555)" (( "(") (binary_expression "iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555" (identifier "iVar7") (!= "!=") (binary_expression "(*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555" (parenthesized_expression "(*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2)" (( "(") (binary_expression "*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2" (binary_expression "*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68)" (pointer_expression "*(int *)(param_1 + 0x6c)" (* "*") (cast_expression "(int *)(param_1 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x68)" (* "*") (cast_expression "(int *)(param_1 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x55555555"))) () ")")) (compound_statement "{\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);\n  }" ({ "{") (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2)" (identifier "FUN_000da200") (argument_list "("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2)" (( "(") (string_literal ""../../gold/dwarf_reader.cc"" (" """) (string_content "../../gold/dwarf_reader.cc") (" """)) (, ",") (number_literal "0x6b8") (, ",") (string_literal ""read_header_tables"" (" """) (string_content "read_header_tables") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "local_38 = (int ***)0x0;" (assignment_expression "local_38 = (int ***)0x0" (identifier "local_38") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (int ***)0x0;" (assignment_expression "local_34 = (int ***)0x0" (identifier "local_34") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = (int ***)0x0;" (assignment_expression "local_30 = (int ***)0x0" (identifier "local_30") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (int ***)FUN_00246670(0x18);" (assignment_expression "local_38 = (int ***)FUN_00246670(0x18)" (identifier "local_38") (= "=") (cast_expression "(int ***)FUN_00246670(0x18)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "FUN_00246670(0x18)" (identifier "FUN_00246670") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")"))))) (; ";")) (expression_statement "local_38[1] = (int **)0x0;" (assignment_expression "local_38[1] = (int **)0x0" (subscript_expression "local_38[1]" (identifier "local_38") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = local_38 + 6;" (assignment_expression "local_34 = local_38 + 6" (identifier "local_34") (= "=") (binary_expression "local_38 + 6" (identifier "local_38") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "*local_38 = (int **)(local_38 + 2);" (assignment_expression "*local_38 = (int **)(local_38 + 2)" (pointer_expression "*local_38" (* "*") (identifier "local_38")) (= "=") (cast_expression "(int **)(local_38 + 2)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_38 + 2)" (( "(") (binary_expression "local_38 + 2" (identifier "local_38") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*(undefined1 *)(local_38 + 2) = 0;" (assignment_expression "*(undefined1 *)(local_38 + 2) = 0" (pointer_expression "*(undefined1 *)(local_38 + 2)" (* "*") (cast_expression "(undefined1 *)(local_38 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 2)" (( "(") (binary_expression "local_38 + 2" (identifier "local_38") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = local_34;" (assignment_expression "local_30 = local_34" (identifier "local_30") (= "=") (identifier "local_34")) (; ";")) (expression_statement "FUN_002137c0(param_1 + 0x5c,&local_38);" (call_expression "FUN_002137c0(param_1 + 0x5c,&local_38)" (identifier "FUN_002137c0") (argument_list "(param_1 + 0x5c,&local_38)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (expression_statement "pppiVar2 = local_34;" (assignment_expression "pppiVar2 = local_34" (identifier "pppiVar2") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }" (if "if") (parenthesized_expression "(local_34 != local_38)" (( "(") (binary_expression "local_34 != local_38" (identifier "local_34") (!= "!=") (identifier "local_38")) () ")")) (compound_statement "{\n    local_44 = local_38;\n    do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);\n  }" ({ "{") (expression_statement "local_44 = local_38;" (assignment_expression "local_44 = local_38" (identifier "local_44") (= "=") (identifier "local_38")) (; ";")) (do_statement "do {\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    } while (pppiVar2 != local_44);" (do "do") (compound_statement "{\n      if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }\n      local_44 = local_44 + 6;\n    }" ({ "{") (if_statement "if ((int ***)*local_44 != local_44 + 2) {\n        FUN_00248220(*local_44);\n      }" (if "if") (parenthesized_expression "((int ***)*local_44 != local_44 + 2)" (( "(") (binary_expression "(int ***)*local_44 != local_44 + 2" (cast_expression "(int ***)*local_44" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44"))) (!= "!=") (binary_expression "local_44 + 2" (identifier "local_44") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n        FUN_00248220(*local_44);\n      }" ({ "{") (expression_statement "FUN_00248220(*local_44);" (call_expression "FUN_00248220(*local_44)" (identifier "FUN_00248220") (argument_list "(*local_44)" (( "(") (pointer_expression "*local_44" (* "*") (identifier "local_44")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" (identifier "local_44") (= "=") (binary_expression "local_44 + 6" (identifier "local_44") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppiVar2 != local_44)" (( "(") (binary_expression "pppiVar2 != local_44" (identifier "pppiVar2") (!= "!=") (identifier "local_44")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_38 != (int ***)0x0) {\n    FUN_00248220(local_38);\n  }" (if "if") (parenthesized_expression "(local_38 != (int ***)0x0)" (( "(") (binary_expression "local_38 != (int ***)0x0" (identifier "local_38") (!= "!=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_00248220(local_38);\n  }" ({ "{") (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" (identifier "FUN_00248220") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (expression_statement "local_38 = (int ***)0x0;" (assignment_expression "local_38 = (int ***)0x0" (identifier "local_38") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (int ***)0x0;" (assignment_expression "local_34 = (int ***)0x0" (identifier "local_34") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = (int ***)0x0;" (assignment_expression "local_30 = (int ***)0x0" (identifier "local_30") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (int ***)FUN_00246670(0x1c);" (assignment_expression "local_38 = (int ***)FUN_00246670(0x1c)" (identifier "local_38") (= "=") (cast_expression "(int ***)FUN_00246670(0x1c)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "FUN_00246670(0x1c)" (identifier "FUN_00246670") (argument_list "(0x1c)" (( "(") (number_literal "0x1c") () ")"))))) (; ";")) (expression_statement "local_34 = (int ***)((int ****)local_38 + 7);" (assignment_expression "local_34 = (int ***)((int ****)local_38 + 7)" (identifier "local_34") (= "=") (cast_expression "(int ***)((int ****)local_38 + 7)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int ****)local_38 + 7)" (( "(") (binary_expression "(int ****)local_38 + 7" (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) (+ "+") (number_literal "7")) () ")")))) (; ";")) (expression_statement "*(undefined1 *)((int ****)local_38 + 3) = 0;" (assignment_expression "*(undefined1 *)((int ****)local_38 + 3) = 0" (pointer_expression "*(undefined1 *)((int ****)local_38 + 3)" (* "*") (cast_expression "(undefined1 *)((int ****)local_38 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int ****)local_38 + 3)" (( "(") (binary_expression "(int ****)local_38 + 3" (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*local_38 = (int **)0x0;" (assignment_expression "*local_38 = (int **)0x0" (pointer_expression "*local_38" (* "*") (identifier "local_38")) (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);" (assignment_expression "((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3)" (subscript_expression "((int ****)local_38)[1]" (parenthesized_expression "((int ****)local_38)" (( "(") (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int ***)((int ****)local_38 + 3)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int ****)local_38 + 3)" (( "(") (binary_expression "(int ****)local_38 + 3" (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "((int ****)local_38)[2] = (int ***)0x0;" (assignment_expression "((int ****)local_38)[2] = (int ***)0x0" (subscript_expression "((int ****)local_38)[2]" (parenthesized_expression "((int ****)local_38)" (( "(") (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) () ")")) ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = local_34;" (assignment_expression "local_30 = local_34" (identifier "local_30") (= "=") (identifier "local_34")) (; ";")) (expression_statement "FUN_00213a90(param_1 + 0x68,&local_38);" (call_expression "FUN_00213a90(param_1 + 0x68,&local_38)" (identifier "FUN_00213a90") (argument_list "(param_1 + 0x68,&local_38)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (expression_statement "pppiVar2 = local_34;" (assignment_expression "pppiVar2 = local_34" (identifier "pppiVar2") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (local_34 != local_38) {\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }" (if "if") (parenthesized_expression "(local_34 != local_38)" (( "(") (binary_expression "local_34 != local_38" (identifier "local_34") (!= "!=") (identifier "local_38")) () ")")) (compound_statement "{\n    local_44 = local_38;\n    do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);\n  }" ({ "{") (expression_statement "local_44 = local_38;" (assignment_expression "local_44 = local_38" (identifier "local_44") (= "=") (identifier "local_38")) (; ";")) (do_statement "do {\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    } while (pppiVar2 != local_44);" (do "do") (compound_statement "{\n      if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }\n      local_44 = local_44 + 7;\n    }" ({ "{") (if_statement "if ((int ***)local_44[1] != local_44 + 3) {\n        FUN_00248220(local_44[1]);\n      }" (if "if") (parenthesized_expression "((int ***)local_44[1] != local_44 + 3)" (( "(") (binary_expression "(int ***)local_44[1] != local_44 + 3" (cast_expression "(int ***)local_44[1]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (binary_expression "local_44 + 3" (identifier "local_44") (+ "+") (number_literal "3"))) () ")")) (compound_statement "{\n        FUN_00248220(local_44[1]);\n      }" ({ "{") (expression_statement "FUN_00248220(local_44[1]);" (call_expression "FUN_00248220(local_44[1])" (identifier "FUN_00248220") (argument_list "(local_44[1])" (( "(") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_44 = local_44 + 7;" (assignment_expression "local_44 = local_44 + 7" (identifier "local_44") (= "=") (binary_expression "local_44 + 7" (identifier "local_44") (+ "+") (number_literal "7"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppiVar2 != local_44)" (( "(") (binary_expression "pppiVar2 != local_44" (identifier "pppiVar2") (!= "!=") (identifier "local_44")) () ")")) (; ";")) (} "}"))) (if_statement "if ((int ****)local_38 != (int ****)0x0) {\n    FUN_00248220(local_38);\n  }" (if "if") (parenthesized_expression "((int ****)local_38 != (int ****)0x0)" (( "(") (binary_expression "(int ****)local_38 != (int ****)0x0" (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) (!= "!=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_00248220(local_38);\n  }" ({ "{") (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" (identifier "FUN_00248220") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (if_statement "if (*param_2 != '\0') {\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" (if "if") (parenthesized_expression "(*param_2 != '\0')" (( "(") (binary_expression "*param_2 != '\0'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_44 = *(int ****)(param_1 + 0x60);\n    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }\n                    \n    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");\n  }" ({ "{") (expression_statement "local_44 = *(int ****)(param_1 + 0x60);" (assignment_expression "local_44 = *(int ****)(param_1 + 0x60)" (identifier "local_44") (= "=") (pointer_expression "*(int ****)(param_1 + 0x60)" (* "*") (cast_expression "(int ****)(param_1 + 0x60)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (if_statement "if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }" (if "if") (parenthesized_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18)" (( "(") (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18" (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc)" (pointer_expression "*(int *)((int)local_44 + -8)" (* "*") (cast_expression "(int *)((int)local_44 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + -8)" (( "(") (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "-8")) () ")")))) (- "-") (pointer_expression "*(int *)((int)local_44 + -0xc)" (* "*") (cast_expression "(int *)((int)local_44 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + -0xc)" (( "(") (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "-0xc")) () ")"))))) (== "==") (number_literal "0x18")) () ")")) (compound_statement "{\n      iVar7 = 1;\n      do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);\n    }" ({ "{") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0);" (do "do") (compound_statement "{\n        local_38 = (int ***)&local_30;\n        sVar3 = strlen(param_2);\n        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);\n                    \n        FUN_000d5a90((int)local_44 + -0xc,&local_38);\n        if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }\n        iVar7 = iVar7 + 1;\n        local_44 = *(int ****)(param_1 + 0x60);\n        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;\n        if (*param_2 == '\0') goto LAB_00214aff;\n      }" ({ "{") (expression_statement "local_38 = (int ***)&local_30;" (assignment_expression "local_38 = (int ***)&local_30" (identifier "local_38") (= "=") (cast_expression "(int ***)&local_30" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&local_30" (& "&") (identifier "local_30")))) (; ";")) (expression_statement "sVar3 = strlen(param_2);" (assignment_expression "sVar3 = strlen(param_2)" (identifier "sVar3") (= "=") (call_expression "strlen(param_2)" (identifier "strlen") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);" (call_expression "FUN_000a8880(&local_38,param_2,param_2 + sVar3,0)" (identifier "FUN_000a8880") (argument_list "(&local_38,param_2,param_2 + sVar3,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_2") (, ",") (binary_expression "param_2 + sVar3" (identifier "param_2") (+ "+") (identifier "sVar3")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000d5a90((int)local_44 + -0xc,&local_38);" (call_expression "FUN_000d5a90((int)local_44 + -0xc,&local_38)" (identifier "FUN_000d5a90") (argument_list "((int)local_44 + -0xc,&local_38)" (( "(") (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "-0xc")) (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (if_statement "if ((int ****)local_38 != &local_30) {\n          FUN_00248220(local_38);\n        }" (if "if") (parenthesized_expression "((int ****)local_38 != &local_30)" (( "(") (binary_expression "(int ****)local_38 != &local_30" (cast_expression "(int ****)local_38" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_38")) (!= "!=") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) () ")")) (compound_statement "{\n          FUN_00248220(local_38);\n        }" ({ "{") (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" (identifier "FUN_00248220") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_44 = *(int ****)(param_1 + 0x60);" (assignment_expression "local_44 = *(int ****)(param_1 + 0x60)" (identifier "local_44") (= "=") (pointer_expression "*(int ****)(param_1 + 0x60)" (* "*") (cast_expression "(int ****)(param_1 + 0x60)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;" (assignment_expression "param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1" (binary_expression "param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14)" (identifier "param_2") (+ "+") (pointer_expression "*(int *)(*(int *)((int)local_44 + -8) + -0x14)" (* "*") (cast_expression "(int *)(*(int *)((int)local_44 + -8) + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_44 + -8) + -0x14)" (( "(") (binary_expression "*(int *)((int)local_44 + -8) + -0x14" (pointer_expression "*(int *)((int)local_44 + -8)" (* "*") (cast_expression "(int *)((int)local_44 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + -8)" (( "(") (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "-8")) () ")")))) (+ "+") (number_literal "-0x14")) () ")"))))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*param_2 == '\0') goto LAB_00214aff;" (if "if") (parenthesized_expression "(*param_2 == '\0')" (( "(") (binary_expression "*param_2 == '\0'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00214aff;" (goto "goto") (statement_identifier "LAB_00214aff") (; ";"))) (} "}")) (while "while") (parenthesized_expression "((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0)" (( "(") (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7 == 0" (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -\n               iVar7" (binary_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555" (parenthesized_expression "(*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3)" (( "(") (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3" (binary_expression "*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc)" (pointer_expression "*(int *)((int)local_44 + -8)" (* "*") (cast_expression "(int *)((int)local_44 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + -8)" (( "(") (binary_expression "(int)local_44 + -8" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "-8")) () ")")))) (- "-") (pointer_expression "*(int *)((int)local_44 + -0xc)" (* "*") (cast_expression "(int *)((int)local_44 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + -0xc)" (( "(") (binary_expression "(int)local_44 + -0xc" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "-0xc")) () ")"))))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555")) (- "-") (identifier "iVar7")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" (identifier "FUN_000da200") (argument_list "("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables")" (( "(") (string_literal ""../../gold/dwarf_reader.cc"" (" """) (string_content "../../gold/dwarf_reader.cc") (" """)) (, ",") (number_literal "0x6c4") (, ",") (string_literal ""read_header_tables"" (" """) (string_content "read_header_tables") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00214aff:\n  local_44 = (int ***)(param_2 + 1);" (statement_identifier "LAB_00214aff") (: ":") (expression_statement "local_44 = (int ***)(param_2 + 1);" (assignment_expression "local_44 = (int ***)(param_2 + 1)" (identifier "local_44") (= "=") (cast_expression "(int ***)(param_2 + 1)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(param_2 + 1)" (( "(") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if (param_2[1] != '\0') {\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }" (if "if") (parenthesized_expression "(param_2[1] != '\0')" (( "(") (binary_expression "param_2[1] != '\0'" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_4c = 1;\n    do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);\n  }" ({ "{") (expression_statement "local_4c = 1;" (assignment_expression "local_4c = 1" (identifier "local_4c") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    } while (*pbVar5 != 0);" (do "do") (compound_statement "{\n      sVar3 = strlen((char *)local_44);\n      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);\n      bVar1 = *pbVar6;\n      pbVar5 = pbVar6 + 1;\n      if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }\n      ppppiVar4 = (int ****)uVar8;\n      if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }\n      pbVar6 = pbVar5 + 1;\n      if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }\n      iVar7 = *(int *)(param_1 + 0x6c);\n      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }\n      local_38 = (int ***)ppppiVar4;\n      local_34 = local_2c;\n      sVar3 = strlen((char *)local_44);\n      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);\n                    \n      FUN_00213dc0(iVar7 + -0xc,&local_38);\n      if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }\n      local_4c = local_4c + 1;\n      local_44 = (int ***)pbVar5;\n    }" ({ "{") (expression_statement "sVar3 = strlen((char *)local_44);" (assignment_expression "sVar3 = strlen((char *)local_44)" (identifier "sVar3") (= "=") (call_expression "strlen((char *)local_44)" (identifier "strlen") (argument_list "((char *)local_44)" (( "(") (cast_expression "(char *)local_44" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_44")) () ")")))) (; ";")) (expression_statement "pbVar6 = (byte *)((int)local_44 + sVar3 + 1);" (assignment_expression "pbVar6 = (byte *)((int)local_44 + sVar3 + 1)" (identifier "pbVar6") (= "=") (cast_expression "(byte *)((int)local_44 + sVar3 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + sVar3 + 1)" (( "(") (binary_expression "(int)local_44 + sVar3 + 1" (binary_expression "(int)local_44 + sVar3" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (identifier "sVar3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (expression_statement "pbVar5 = pbVar6 + 1;" (assignment_expression "pbVar5 = pbVar6 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }" ({ "{") (expression_statement "uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);" (assignment_expression "uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1)" (identifier "uVar8") (= "=") (call_expression "FUN_00106460(pbVar5,&local_3c,(uint)bVar1)" (identifier "FUN_00106460") (argument_list "(pbVar5,&local_3c,(uint)bVar1)" (( "(") (identifier "pbVar5") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")")))) (; ";")) (expression_statement "pbVar5 = pbVar6 + local_3c;" (assignment_expression "pbVar5 = pbVar6 + local_3c" (identifier "pbVar5") (= "=") (binary_expression "pbVar6 + local_3c" (identifier "pbVar6") (+ "+") (identifier "local_3c"))) (; ";")) (} "}")) (else_clause "else {\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" (else "else") (compound_statement "{\n        local_3c = 1;\n        uVar8 = (ulonglong)(uint)bVar1;\n      }" ({ "{") (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" (identifier "local_3c") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar8 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar8 = (ulonglong)(uint)bVar1" (identifier "uVar8") (= "=") (cast_expression "(ulonglong)(uint)bVar1" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")))) (; ";")) (} "}")))) (expression_statement "ppppiVar4 = (int ****)uVar8;" (assignment_expression "ppppiVar4 = (int ****)uVar8" (identifier "ppppiVar4") (= "=") (cast_expression "(int ****)uVar8" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "uVar8"))) (; ";")) (if_statement "if ((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)) {\n        ppppiVar4 = (int ****)0x0;\n      }" (if "if") (parenthesized_expression "((uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20))" (( "(") (binary_expression "(uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=\n          (uint)(uVar8 >> 0x20)" (call_expression "(uint)(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555))" (( "(") (binary_expression "ppppiVar4 <\n                (int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" (identifier "ppppiVar4") (< "<") (cast_expression "(int ****)\n                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)" (( "(") (binary_expression "(*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555" (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3" (binary_expression "*(int *)(*(int *)(param_1 + 0x60) + -8) -\n                  *(int *)(*(int *)(param_1 + 0x60) + -0xc)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x60) + -8)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x60) + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x60) + -8)" (( "(") (binary_expression "*(int *)(param_1 + 0x60) + -8" (pointer_expression "*(int *)(param_1 + 0x60)" (* "*") (cast_expression "(int *)(param_1 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (number_literal "-8")) () ")")))) (- "-") (pointer_expression "*(int *)(*(int *)(param_1 + 0x60) + -0xc)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x60) + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x60) + -0xc)" (( "(") (binary_expression "*(int *)(param_1 + 0x60) + -0xc" (pointer_expression "*(int *)(param_1 + 0x60)" (* "*") (cast_expression "(int *)(param_1 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (+ "+") (number_literal "-0xc")) () ")"))))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555")) () ")")))) () ")"))) (<= "<=") (call_expression "(uint)(uVar8 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 >> 0x20)" (( "(") (binary_expression "uVar8 >> 0x20" (identifier "uVar8") (>> ">>") (number_literal "0x20")) () ")")))) () ")")) (compound_statement "{\n        ppppiVar4 = (int ****)0x0;\n      }" ({ "{") (expression_statement "ppppiVar4 = (int ****)0x0;" (assignment_expression "ppppiVar4 = (int ****)0x0" (identifier "ppppiVar4") (= "=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "pbVar6 = pbVar5 + 1;" (assignment_expression "pbVar6 = pbVar5 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((char)*pbVar5 < '\0') {\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }\n      else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" (if "if") (parenthesized_expression "((char)*pbVar5 < '\0')" (( "(") (binary_expression "(char)*pbVar5 < '\0'" (cast_expression "(char)*pbVar5" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        FUN_00106460(pbVar6,&local_3c,*pbVar5);\n        pbVar6 = pbVar5 + local_3c;\n        bVar1 = *pbVar6;\n        pbVar5 = pbVar6 + 1;\n        if (-1 < (char)bVar1) goto LAB_00214b77;\nLAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);\n        pbVar5 = pbVar6 + local_3c;\n      }" ({ "{") (expression_statement "FUN_00106460(pbVar6,&local_3c,*pbVar5);" (call_expression "FUN_00106460(pbVar6,&local_3c,*pbVar5)" (identifier "FUN_00106460") (argument_list "(pbVar6,&local_3c,*pbVar5)" (( "(") (identifier "pbVar6") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) () ")"))) (; ";")) (expression_statement "pbVar6 = pbVar5 + local_3c;" (assignment_expression "pbVar6 = pbVar5 + local_3c" (identifier "pbVar6") (= "=") (binary_expression "pbVar5 + local_3c" (identifier "pbVar5") (+ "+") (identifier "local_3c"))) (; ";")) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (expression_statement "pbVar5 = pbVar6 + 1;" (assignment_expression "pbVar5 = pbVar6 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (-1 < (char)bVar1) goto LAB_00214b77;" (if "if") (parenthesized_expression "(-1 < (char)bVar1)" (( "(") (binary_expression "-1 < (char)bVar1" (number_literal "-1") (< "<") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1"))) () ")")) (goto_statement "goto LAB_00214b77;" (goto "goto") (statement_identifier "LAB_00214b77") (; ";"))) (labeled_statement "LAB_00214c8c:\n        FUN_00106460(pbVar5,&local_3c,bVar1);" (statement_identifier "LAB_00214c8c") (: ":") (expression_statement "FUN_00106460(pbVar5,&local_3c,bVar1);" (call_expression "FUN_00106460(pbVar5,&local_3c,bVar1)" (identifier "FUN_00106460") (argument_list "(pbVar5,&local_3c,bVar1)" (( "(") (identifier "pbVar5") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (identifier "bVar1") () ")"))) (; ";"))) (expression_statement "pbVar5 = pbVar6 + local_3c;" (assignment_expression "pbVar5 = pbVar6 + local_3c" (identifier "pbVar5") (= "=") (binary_expression "pbVar6 + local_3c" (identifier "pbVar6") (+ "+") (identifier "local_3c"))) (; ";")) (} "}")) (else_clause "else {\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" (else "else") (compound_statement "{\n        bVar1 = *pbVar6;\n        local_3c = 1;\n        pbVar5 = pbVar5 + 2;\n        if ((char)bVar1 < '\0') goto LAB_00214c8c;\nLAB_00214b77:\n        local_3c = 1;\n      }" ({ "{") (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" (identifier "local_3c") (= "=") (number_literal "1")) (; ";")) (expression_statement "pbVar5 = pbVar5 + 2;" (assignment_expression "pbVar5 = pbVar5 + 2" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + 2" (identifier "pbVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') goto LAB_00214c8c;" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00214c8c;" (goto "goto") (statement_identifier "LAB_00214c8c") (; ";"))) (labeled_statement "LAB_00214b77:\n        local_3c = 1;" (statement_identifier "LAB_00214b77") (: ":") (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" (identifier "local_3c") (= "=") (number_literal "1")) (; ";"))) (} "}")))) (expression_statement "iVar7 = *(int *)(param_1 + 0x6c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x6c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x6c)" (* "*") (cast_expression "(int *)(param_1 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0)" (( "(") (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0" (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c" (binary_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249" (parenthesized_expression "(*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2)" (( "(") (binary_expression "*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2" (binary_expression "*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc)" (pointer_expression "*(int *)(iVar7 + -8)" (* "*") (cast_expression "(int *)(iVar7 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + -8)" (( "(") (binary_expression "iVar7 + -8" (identifier "iVar7") (+ "+") (number_literal "-8")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar7 + -0xc)" (* "*") (cast_expression "(int *)(iVar7 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + -0xc)" (( "(") (binary_expression "iVar7 + -0xc" (identifier "iVar7") (+ "+") (number_literal "-0xc")) () ")"))))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x49249249")) (- "-") (identifier "local_4c")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");\n      }" ({ "{") (expression_statement "FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");" (call_expression "FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" (identifier "FUN_000da200") (argument_list "("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables")" (( "(") (string_literal ""../../gold/dwarf_reader.cc"" (" """) (string_content "../../gold/dwarf_reader.cc") (" """)) (, ",") (number_literal "0x6e4") (, ",") (string_literal ""read_header_tables"" (" """) (string_content "read_header_tables") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_38 = (int ***)ppppiVar4;" (assignment_expression "local_38 = (int ***)ppppiVar4" (identifier "local_38") (= "=") (cast_expression "(int ***)ppppiVar4" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar4"))) (; ";")) (expression_statement "local_34 = local_2c;" (assignment_expression "local_34 = local_2c" (identifier "local_34") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "sVar3 = strlen((char *)local_44);" (assignment_expression "sVar3 = strlen((char *)local_44)" (identifier "sVar3") (= "=") (call_expression "strlen((char *)local_44)" (identifier "strlen") (argument_list "((char *)local_44)" (( "(") (cast_expression "(char *)local_44" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_44")) () ")")))) (; ";")) (expression_statement "FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);" (call_expression "FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0)" (identifier "FUN_000a8880") (argument_list "(&local_34,local_44,(byte *)((int)local_44 + sVar3),0)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "local_44") (, ",") (cast_expression "(byte *)((int)local_44 + sVar3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + sVar3)" (( "(") (binary_expression "(int)local_44 + sVar3" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (identifier "sVar3")) () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00213dc0(iVar7 + -0xc,&local_38);" (call_expression "FUN_00213dc0(iVar7 + -0xc,&local_38)" (identifier "FUN_00213dc0") (argument_list "(iVar7 + -0xc,&local_38)" (( "(") (binary_expression "iVar7 + -0xc" (identifier "iVar7") (+ "+") (number_literal "-0xc")) (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (if_statement "if (local_34 != local_2c) {\n        FUN_00248220(local_34);\n      }" (if "if") (parenthesized_expression "(local_34 != local_2c)" (( "(") (binary_expression "local_34 != local_2c" (identifier "local_34") (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n        FUN_00248220(local_34);\n      }" ({ "{") (expression_statement "FUN_00248220(local_34);" (call_expression "FUN_00248220(local_34)" (identifier "FUN_00248220") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (} "}"))) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" (identifier "local_4c") (= "=") (binary_expression "local_4c + 1" (identifier "local_4c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_44 = (int ***)pbVar5;" (assignment_expression "local_44 = (int ***)pbVar5" (identifier "local_44") (= "=") (cast_expression "(int ***)pbVar5" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar5"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pbVar5 != 0)" (( "(") (binary_expression "*pbVar5 != 0" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (return_statement "return (byte *)((int)local_44 + 1);" (return "return") (cast_expression "(byte *)((int)local_44 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 1)" (( "(") (binary_expression "(int)local_44 + 1" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original prototype: uchar * read_header_tables(Sized_dwarf_line_info<32,_true> * this,
   uchar * lineptr) */

var_1 * var_2
gold::Sized_dwarf_line_info<32,_true>::read_header_tables
          (Sized_dwarf_line_info<32,_true> *this,var_1 *var_20)

{
  var_3<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_7
  *var_8;
  type_1 bVar2;
  type_2 pbVar3;
  type_2 pvVar4;
  type_2 var_29;
  type_3 _Var6;
  size_t var_21;
  type_4 *var_22;
  type_1 *var_27;
  type_1 *var_23;
  int var_11;
  type_5 var_26;
  int var_28;
  type_4 *var_14;
  size_t var_25;
  pair<int,_std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>
  var_10;
  
  var_11 = this->current_header_index_ + 1;
  this->current_header_index_ = var_11;
  if (var_11 != ((int)(this->directories_).
                      super__Vector_base<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>,var_5::var_9<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
                      ._M_impl._M_finish -
                 (int)(this->directories_).
                      super__Vector_base<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>,var_5::var_9<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
                      ._M_impl._M_start >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    var_12("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");
  }
  if (var_11 != ((int)(this->files_).
                      super__Vector_base<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>,var_5::var_9<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>var_6>
                      ._M_impl._M_finish -
                 (int)(this->files_).
                      super__Vector_base<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>,var_5::var_9<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>var_6>
                      ._M_impl._M_start >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    var_12("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables");
  }
  var_10.first = 0;
  var_10.second._M_dataplus._M_p = (type_2)0x0;
  var_10.second._M_string_length = 0;
  var_10.first = (int)var_13(0x18);
  *(int *)(var_10.first + 4) = 0;
  var_10.second._M_dataplus._M_p = (type_2)(var_10.first + 0x18);
  *(int **)var_10.first = (int *)(var_10.first + 8);
  *(type_6 *)(var_10.first + 8) = 0;
  var_10.second._M_string_length = (type_4)var_10.second._M_dataplus._M_p;
                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */
  std::
  vector<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>,var_5::var_9<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
  ::
  emplace_back<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>
            (&this->directories_,
             (vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>
              *var_16)&var_10);
  _Var6._M_p = var_10.second._M_dataplus._M_p;
  if (var_10.second._M_dataplus._M_p != (type_2)var_10.first) {
    var_14 = (type_4 *)var_10.first;
    do {
      if ((type_4 *)*var_14 != var_14 + 2) {
        var_15((int *)*var_14);
      }
      var_14 = var_14 + 6;
    } while ((type_4 *)_Var6._M_p != var_14);
  }
  if ((int *)var_10.first != (int *)0x0) {
    var_15((void *)var_10.first);
  }
  var_10.first = 0;
  var_10.second._M_dataplus._M_p = (type_2)0x0;
  var_10.second._M_string_length = 0;
  var_10.first = (int)var_13(0x1c);
  var_10.second._M_dataplus._M_p = (type_2)(var_10.first + 0x1c);
  *(type_6 *)(var_10.first + 0xc) = 0;
  *(type_4 *)var_10.first = 0;
  ((var_3<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_7
    *)(var_10.first + 4))->_M_allocated_capacity = (type_4)(var_10.first + 0xc);
  *(type_7 *)(var_10.first + 8) = 0;
  var_10.second._M_string_length = (type_4)var_10.second._M_dataplus._M_p;
                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */
  std::
  vector<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>,var_5::var_9<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>var_6>
  ::
  emplace_back<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
            (&this->files_,
             (vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>
              *var_16)&var_10);
  _Var6._M_p = var_10.second._M_dataplus._M_p;
  if (var_10.second._M_dataplus._M_p != (type_2)var_10.first) {
    var_14 = (type_4 *)var_10.first;
    do {
      if ((type_7 *)
          ((var_3<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_7
            *)(var_14 + 1))->_M_allocated_capacity != var_14 + 3) {
        var_15((type_7 *)
                        ((var_3<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_7
                          *)(var_14 + 1))->_M_allocated_capacity);
      }
      var_14 = var_14 + 7;
    } while ((type_4 *)_Var6._M_p != var_14);
  }
  if ((type_4 *)var_10.first != (type_4 *)0x0) {
    var_15((void *)var_10.first);
  }
  if (*var_20 != '\0') {
    var_14 = (type_4 *)
               (this->directories_).
               super__Vector_base<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>,var_5::var_9<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
               ._M_impl._M_finish;
    if ((int)(((type_2)((int)var_14 + -0xc))->
             super__Vector_base<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_16
             )._M_impl._M_finish -
        (int)(((type_2)((int)var_14 + -0xc))->
             super__Vector_base<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_16
             )._M_impl._M_start == 0x18) {
      var_22 = &var_10.second._M_string_length;
      var_11 = 1;
      do {
        var_10.first = (int)var_22;
        var_21 = var_17((char *)var_20);
        std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>::
        var_18<var_19*>
                  ((basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6> *var_16)&var_10,
                   var_20,var_20 + var_21,0);
                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */
        std::
        vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>
        ::
        emplace_back<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>
                  ((vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>
                    *var_16)((int)var_14 + -0xc),
                   (basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6> *var_16)&var_10);
        if ((type_4 *)var_10.first != var_22) {
          var_15((void *)var_10.first);
        }
        var_11 = var_11 + 1;
        var_14 = (type_4 *)
                   (this->directories_).
                   super__Vector_base<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>,var_5::var_9<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
                   ._M_impl._M_finish;
        pbVar3 = (((type_2)((int)var_14 + -0xc))->
                 super__Vector_base<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_16
                 )._M_impl._M_finish;
        var_20 = var_20 + pbVar3[-1]._M_string_length + 1;
        if (*var_20 == '\0') goto LAB_00214aff;
      } while (((int)pbVar3 -
                (int)(((type_2)((int)var_14 + -0xc))->
                     super__Vector_base<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_16
                     )._M_impl._M_start >> 3) * -0x55555555 - var_11 == 0);
    }
                    /* WARNING: Subroutine does not return */
    var_12("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");
  }
LAB_00214aff:
  var_14 = (type_4 *)(var_20 + 1);
  if (var_20[1] != '\0') {
    var_28 = 1;
    do {
      var_21 = var_17((char *)var_14);
      var_23 = (type_1 *)((int)var_14 + var_21 + 1);
      bVar2 = *var_23;
      var_27 = var_23 + 1;
      if ((char)bVar2 < '\0') {
        var_26 = var_24(var_27,&var_25,bVar2);
        var_27 = var_23 + var_25;
      }
      else {
        var_25 = 1;
        var_26 = (type_5)bVar2;
      }
      var_22 = (type_4 *)var_26;
      pvVar4 = (this->directories_).
               super__Vector_base<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>,var_5::var_9<std::vector<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>
               ._M_impl._M_finish;
      if ((uint)(var_22 < (type_7 *)
                          (((int)pvVar4[-1].
                                 super__Vector_base<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>
                                 ._M_impl._M_finish -
                            (int)pvVar4[-1].
                                 super__Vector_base<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>,var_5::var_9<std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>
                                 ._M_impl._M_start >> 3) * -0x55555555)) <= (uint)(var_26 >> 0x20))
      {
        var_22 = (type_4 *)0x0;
      }
      var_23 = var_27 + 1;
      if ((char)*var_27 < '\0') {
        var_24(var_23,&var_25,*var_27);
        var_23 = var_27 + var_25;
        bVar2 = *var_23;
        var_27 = var_23 + 1;
        if (-1 < (char)bVar2) goto LAB_00214b77;
LAB_00214c8c:
        var_24(var_27,&var_25,bVar2);
        var_27 = var_23 + var_25;
      }
      else {
        bVar2 = *var_23;
        var_25 = 1;
        var_27 = var_27 + 2;
        if ((char)bVar2 < '\0') goto LAB_00214c8c;
LAB_00214b77:
        var_25 = 1;
      }
      var_29 = (this->files_).
               super__Vector_base<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>,var_5::var_9<std::vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>var_6>var_6>
               ._M_impl._M_finish;
      if (((int)var_29[-1].
                super__Vector_base<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>
                ._M_impl._M_finish -
           (int)var_29[-1].
                super__Vector_base<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>
                ._M_impl._M_start >> 2) * -0x49249249 - var_28 != 0) {
                    /* WARNING: Subroutine does not return */
        var_12("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");
      }
      var_8 = &var_10.second.field_2;
      var_10.first = (int)var_22;
      var_10.second._M_dataplus._M_p = (type_2)var_8;
      var_21 = var_17((char *)var_14);
      std::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>::
      var_18<var_19*>(&var_10.second,var_14,(type_1 *)((int)var_14 + var_21),0);
                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */
      std::
      vector<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>,var_5::var_9<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>var_6>
      ::
      emplace_back<std::pair<int,var_5::__cxx11::basic_string<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_6>var_6>
                (var_29 + -1,&var_10);
      if ((var_3<var_4,var_5::char_traits<var_4>,var_5::var_9<var_4>var_6>var_7
           *)var_10.second._M_dataplus._M_p != var_8) {
        var_15(var_10.second._M_dataplus._M_p);
      }
      var_28 = var_28 + 1;
      var_14 = (type_4 *)var_27;
    } while (*var_27 != 0);
  }
  return (type_1 *)((int)var_14 + 1);
}


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

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

byte * MASKED(int param_1,char *param_2)

{
  byte bVar1;
  int ***pppiVar2;
  size_t sVar3;
  int ****ppppiVar4;
  byte *pbVar5;
  byte *pbVar6;
  int iVar7;
  ulonglong uVar8;
  int local_4c;
  int ***local_44;
  int local_3c;
  int ***local_38;
  int ***local_34;
  int ***local_30;
  int **local_2c [7];
  
  iVar7 = *(int *)(param_1 + 0x74) + 1;
  *(int *)(param_1 + 0x74) = iVar7;
  if (iVar7 != (*(int *)(param_1 + 0x60) - *(int *)(param_1 + 0x5c) >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/dwarf_reader.cc",0x6b6,"read_header_tables");
  }
  if (iVar7 != (*(int *)(param_1 + 0x6c) - *(int *)(param_1 + 0x68) >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/dwarf_reader.cc",0x6b8,"read_header_tables",param_2);
  }
  local_38 = (int ***)0x0;
  local_34 = (int ***)0x0;
  local_30 = (int ***)0x0;
  local_38 = (int ***)FUN_00246670(0x18);
  local_38[1] = (int **)0x0;
  local_34 = local_38 + 6;
  *local_38 = (int **)(local_38 + 2);
  *(undefined1 *)(local_38 + 2) = 0;
  local_30 = local_34;
                    /* try { // try from 00214950 to 00214954 has its CatchHandler @ 00214d64 */
  FUN_002137c0(param_1 + 0x5c,&local_38);
  pppiVar2 = local_34;
  if (local_34 != local_38) {
    local_44 = local_38;
    do {
      if ((int ***)*local_44 != local_44 + 2) {
        FUN_00248220(*local_44);
      }
      local_44 = local_44 + 6;
    } while (pppiVar2 != local_44);
  }
  if (local_38 != (int ***)0x0) {
    FUN_00248220(local_38);
  }
  local_38 = (int ***)0x0;
  local_34 = (int ***)0x0;
  local_30 = (int ***)0x0;
  local_38 = (int ***)FUN_00246670(0x1c);
  local_34 = (int ***)((int ****)local_38 + 7);
  *(undefined1 *)((int ****)local_38 + 3) = 0;
  *local_38 = (int **)0x0;
  ((int ****)local_38)[1] = (int ***)((int ****)local_38 + 3);
  ((int ****)local_38)[2] = (int ***)0x0;
  local_30 = local_34;
                    /* try { // try from 002149f5 to 002149f9 has its CatchHandler @ 00214d27 */
  FUN_00213a90(param_1 + 0x68,&local_38);
  pppiVar2 = local_34;
  if (local_34 != local_38) {
    local_44 = local_38;
    do {
      if ((int ***)local_44[1] != local_44 + 3) {
        FUN_00248220(local_44[1]);
      }
      local_44 = local_44 + 7;
    } while (pppiVar2 != local_44);
  }
  if ((int ****)local_38 != (int ****)0x0) {
    FUN_00248220(local_38);
  }
  if (*param_2 != '\0') {
    local_44 = *(int ****)(param_1 + 0x60);
    if (*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) == 0x18) {
      iVar7 = 1;
      do {
        local_38 = (int ***)&local_30;
        sVar3 = strlen(param_2);
        FUN_000a8880(&local_38,param_2,param_2 + sVar3,0);
                    /* try { // try from 00214ac5 to 00214ac9 has its CatchHandler @ 00214d23 */
        FUN_000d5a90((int)local_44 + -0xc,&local_38);
        if ((int ****)local_38 != &local_30) {
          FUN_00248220(local_38);
        }
        iVar7 = iVar7 + 1;
        local_44 = *(int ****)(param_1 + 0x60);
        param_2 = param_2 + *(int *)(*(int *)((int)local_44 + -8) + -0x14) + 1;
        if (*param_2 == '\0') goto LAB_00214aff;
      } while ((*(int *)((int)local_44 + -8) - *(int *)((int)local_44 + -0xc) >> 3) * -0x55555555 -
               iVar7 == 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_000da200("../../gold/dwarf_reader.cc",0x6c4,"read_header_tables");
  }
LAB_00214aff:
  local_44 = (int ***)(param_2 + 1);
  if (param_2[1] != '\0') {
    local_4c = 1;
    do {
      sVar3 = strlen((char *)local_44);
      pbVar6 = (byte *)((int)local_44 + sVar3 + 1);
      bVar1 = *pbVar6;
      pbVar5 = pbVar6 + 1;
      if ((char)bVar1 < '\0') {
        uVar8 = FUN_00106460(pbVar5,&local_3c,(uint)bVar1);
        pbVar5 = pbVar6 + local_3c;
      }
      else {
        local_3c = 1;
        uVar8 = (ulonglong)(uint)bVar1;
      }
      ppppiVar4 = (int ****)uVar8;
      if ((uint)(ppppiVar4 <
                (int ****)
                ((*(int *)(*(int *)(param_1 + 0x60) + -8) -
                  *(int *)(*(int *)(param_1 + 0x60) + -0xc) >> 3) * -0x55555555)) <=
          (uint)(uVar8 >> 0x20)) {
        ppppiVar4 = (int ****)0x0;
      }
      pbVar6 = pbVar5 + 1;
      if ((char)*pbVar5 < '\0') {
        FUN_00106460(pbVar6,&local_3c,*pbVar5);
        pbVar6 = pbVar5 + local_3c;
        bVar1 = *pbVar6;
        pbVar5 = pbVar6 + 1;
        if (-1 < (char)bVar1) goto LAB_00214b77;
LAB_00214c8c:
        FUN_00106460(pbVar5,&local_3c,bVar1);
        pbVar5 = pbVar6 + local_3c;
      }
      else {
        bVar1 = *pbVar6;
        local_3c = 1;
        pbVar5 = pbVar5 + 2;
        if ((char)bVar1 < '\0') goto LAB_00214c8c;
LAB_00214b77:
        local_3c = 1;
      }
      iVar7 = *(int *)(param_1 + 0x6c);
      if ((*(int *)(iVar7 + -8) - *(int *)(iVar7 + -0xc) >> 2) * -0x49249249 - local_4c != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_000da200("../../gold/dwarf_reader.cc",0x6e4,"read_header_tables");
      }
      local_38 = (int ***)ppppiVar4;
      local_34 = local_2c;
      sVar3 = strlen((char *)local_44);
      FUN_000a8880(&local_34,local_44,(byte *)((int)local_44 + sVar3),0);
                    /* try { // try from 00214bd7 to 00214bdb has its CatchHandler @ 00214d68 */
      FUN_00213dc0(iVar7 + -0xc,&local_38);
      if (local_34 != local_2c) {
        FUN_00248220(local_34);
      }
      local_4c = local_4c + 1;
      local_44 = (int ***)pbVar5;
    } while (*pbVar5 != 0);
  }
  return (byte *)((int)local_44 + 1);
}

