
/* DWARF original prototype: void set_final_data_size(Output_reduced_debug_info_section * this) */

void __thiscall
gold::Output_reduced_debug_info_section::set_final_data_size
          (Output_reduced_debug_info_section *this)

{
  vector<unsigned_char,_std::allocator<unsigned_char>_> *destination;
  byte bVar1;
  byte value;
  bool bVar2;
  Valtype VVar3;
  Valtype VVar4;
  uchar *buffer_end;
  Valtype VVar5;
  uchar *puVar6;
  uchar *puVar7;
  size_t sVar8;
  ulong uVar9;
  char *pcVar10;
  size_t sVar11;
  size_type *psVar12;
  undefined8 uVar13;
  uchar *debug_info;
  size_t LEB_size;
  uint64_t abbreviation_number;
  uchar *die_end;
  size_type __dnew;
  size_type *local_58;
  size_type local_50;
  size_type local_48 [3];
  
  if (this->failed_ != false) {
    return;
  }
  debug_info = (this->super_Output_section).postprocessing_buffer_;
  if (debug_info == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
    Output_section::postprocessing_buffer(&this->super_Output_section);
  }
  buffer_end = debug_info + (this->super_Output_section).super_Output_data.data_size_;
  Output_section::write_to_postprocessing_buffer(&this->super_Output_section);
  if (debug_info < buffer_end) {
    destination = &this->data_;
    do {
      VVar4 = read_from_pointer<32>(&debug_info);
      if (VVar4 == 0xffffffff) {
        VVar4 = read_from_pointer<32>(&debug_info);
        if (VVar4 == 0) {
          if (debug_info + 0x13 < buffer_end) {
            VVar5 = read_from_pointer<64>(&debug_info);
            puVar6 = debug_info + VVar5;
            VVar3 = read_from_pointer<16>(&debug_info);
            VVar5 = read_from_pointer<64>(&debug_info);
            value = read_from_pointer<8>(&debug_info);
            puVar7 = debug_info + 1;
            bVar1 = *debug_info;
            uVar9 = (ulong)bVar1;
            if ((char)bVar1 < '\0') {
              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);
              puVar7 = debug_info + LEB_size;
            }
            else {
              LEB_size = 1;
            }
            debug_info = puVar7;
            abbreviation_number = uVar9;
            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev
                               (this->associated_abbrev_,&abbreviation_number,VVar5);
            uVar13 = 1;
            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);
            if (bVar2) {
              insert_into_vector<32>(destination,0xffffffff);
              insert_into_vector<32>(destination,0);
              puVar7 = die_end;
              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);
              insert_into_vector<64>
                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));
              insert_into_vector<16>(destination,VVar3);
              insert_into_vector<64>(destination,0);
              goto LAB_00254048;
            }
            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",
                                      uVar13);
            psVar12 = local_48;
            local_58 = psVar12;
            if (pcVar10 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
              std::__throw_logic_error("basic_string::_M_construct null not valid");
            }
            sVar11 = strlen(pcVar10);
            __dnew = sVar11;
            if (sVar11 < 0x10) {
              if (sVar11 == 1) {
                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);
              }
              else if (sVar11 != 0) goto LAB_00254580;
            }
            else {
              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);
              local_48[0] = __dnew;
              local_58 = psVar12;
LAB_00254580:
              memcpy(psVar12,pcVar10,sVar11);
              psVar12 = local_58;
            }
            *(undefined1 *)((long)psVar12 + __dnew) = 0;
            local_50 = __dnew;
                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */
            gold_warning("%s",local_58);
            goto LAB_002542af;
          }
          pcVar10 = (char *)gettext(
                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"
                                   );
          psVar12 = local_48;
          local_58 = psVar12;
          if (pcVar10 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            std::__throw_logic_error("basic_string::_M_construct null not valid");
          }
          sVar11 = strlen(pcVar10);
          __dnew = sVar11;
          if (sVar11 < 0x10) {
            if (sVar11 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);
            }
            else if (sVar11 != 0) goto LAB_0025455b;
          }
          else {
            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);
            local_48[0] = __dnew;
            local_58 = psVar12;
LAB_0025455b:
            memcpy(psVar12,pcVar10,sVar11);
            psVar12 = local_58;
          }
          *(undefined1 *)((long)psVar12 + __dnew) = 0;
          local_50 = __dnew;
                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */
          gold_warning("%s",local_58);
          goto LAB_002542af;
        }
        pcVar10 = (char *)gettext(
                                 "Extremely large compile unit in debug info; failed to reduce debug info"
                                 );
        psVar12 = local_48;
        local_58 = psVar12;
        if (pcVar10 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::__throw_logic_error("basic_string::_M_construct null not valid");
        }
        sVar11 = strlen(pcVar10);
        __dnew = sVar11;
        if (sVar11 < 0x10) {
          if (sVar11 == 1) {
            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);
          }
          else if (sVar11 != 0) goto LAB_002545e6;
        }
        else {
          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);
          local_48[0] = __dnew;
          local_58 = psVar12;
LAB_002545e6:
          memcpy(psVar12,pcVar10,sVar11);
          psVar12 = local_58;
        }
        *(undefined1 *)((long)psVar12 + __dnew) = 0;
        local_50 = __dnew;
                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */
        gold_warning("%s",local_58);
        goto LAB_002542af;
      }
      if (buffer_end <= debug_info + 7) {
        pcVar10 = (char *)gettext(
                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"
                                 );
        psVar12 = local_48;
        local_58 = psVar12;
        if (pcVar10 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::__throw_logic_error("basic_string::_M_construct null not valid");
        }
        sVar11 = strlen(pcVar10);
        __dnew = sVar11;
        if (sVar11 < 0x10) {
          if (sVar11 == 1) {
            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);
          }
          else if (sVar11 != 0) goto LAB_0025437e;
        }
        else {
          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);
          local_48[0] = __dnew;
          local_58 = psVar12;
LAB_0025437e:
          memcpy(psVar12,pcVar10,sVar11);
          psVar12 = local_58;
        }
        *(undefined1 *)((long)psVar12 + __dnew) = 0;
        local_50 = __dnew;
                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */
        gold_warning("%s",local_58);
LAB_002542af:
        this->failed_ = true;
        if (local_58 == local_48) {
          return;
        }
        operator_delete(local_58);
        return;
      }
      puVar6 = debug_info + VVar4;
      VVar3 = read_from_pointer<16>(&debug_info);
      VVar4 = read_from_pointer<32>(&debug_info);
      value = read_from_pointer<8>(&debug_info);
      puVar7 = debug_info + 1;
      bVar1 = *debug_info;
      uVar9 = (ulong)bVar1;
      if ((char)bVar1 < '\0') {
        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);
        puVar7 = debug_info + LEB_size;
      }
      else {
        LEB_size = 1;
      }
      debug_info = puVar7;
      abbreviation_number = uVar9;
      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev
                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);
      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);
      puVar7 = die_end;
      if (!bVar2) {
        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");
        psVar12 = local_48;
        local_58 = psVar12;
        if (pcVar10 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::__throw_logic_error("basic_string::_M_construct null not valid");
        }
        sVar11 = strlen(pcVar10);
        __dnew = sVar11;
        if (sVar11 < 0x10) {
          if (sVar11 == 1) {
            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);
          }
          else if (sVar11 != 0) goto LAB_002543c6;
        }
        else {
          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);
          local_48[0] = __dnew;
          local_58 = psVar12;
LAB_002543c6:
          memcpy(psVar12,pcVar10,sVar11);
          psVar12 = local_58;
        }
        *(undefined1 *)((long)psVar12 + __dnew) = 0;
        local_50 = __dnew;
                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */
        gold_warning("%s",local_58);
        goto LAB_002542af;
      }
      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);
      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);
      insert_into_vector<16>(destination,VVar3);
      insert_into_vector<32>(destination,0);
LAB_00254048:
      insert_into_vector<8>(destination,value);
      write_unsigned_LEB_128(destination,abbreviation_number);
      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>
                (destination,
                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.
                 _M_impl._M_finish,debug_info,die_end);
      debug_info = puVar6;
    } while (puVar6 < buffer_end);
  }
  bVar1 = (this->super_Output_section).super_Output_data.field_0x20;
  if (((bVar1 & 2) == 0) && ((bVar1 & 8) == 0)) {
    (this->super_Output_section).super_Output_data.data_size_ =
         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.
               _M_impl._M_finish -
         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.
               _M_impl._M_start;
    (this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;
    return;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");
}



void FUN_00253ee0(long param_1)

{
  long lVar1;
  byte bVar2;
  undefined1 uVar3;
  char cVar4;
  undefined2 uVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  byte *pbVar9;
  long lVar10;
  byte *pbVar11;
  undefined8 uVar12;
  long lVar13;
  ulong uVar14;
  char *pcVar15;
  size_t sVar16;
  size_t *psVar17;
  byte *pbVar18;
  byte *local_80;
  long local_78;
  ulong local_70;
  long local_68;
  size_t local_60;
  size_t *local_58;
  size_t local_50;
  size_t local_48 [3];
  
  if (*(char *)(param_1 + 0x168) != '\0') {
    return;
  }
  pbVar18 = *(byte **)(param_1 + 0xc0);
  if (pbVar18 == (byte *)0x0) {
    FUN_00253490();
  }
  else {
    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);
    local_80 = pbVar18;
    FUN_0020a4b0();
    if (local_80 < pbVar9) {
      lVar1 = param_1 + 0x148;
      do {
        uVar7 = FUN_00254770(&local_80);
        if (uVar7 == 0xffffffff) {
          iVar8 = FUN_00254770(&local_80);
          if (iVar8 == 0) {
            if (local_80 + 0x13 < pbVar9) {
              lVar10 = FUN_002547c0(&local_80);
              pbVar11 = local_80 + lVar10;
              uVar5 = FUN_00254700(&local_80);
              uVar12 = FUN_002547c0(&local_80);
              uVar3 = FUN_00254810(&local_80);
              pbVar18 = local_80 + 1;
              bVar2 = *local_80;
              uVar14 = (ulong)bVar2;
              if ((char)bVar2 < '\0') {
                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);
                pbVar18 = local_80 + local_78;
              }
              else {
                local_78 = 1;
              }
              local_80 = pbVar18;
              local_70 = uVar14;
              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);
              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);
              if (cVar4 != '\0') {
                FUN_00254c70(lVar1,0xffffffff);
                FUN_00254c70(lVar1,0);
                lVar10 = local_68;
                lVar13 = FUN_002cefd0(local_70);
                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);
                FUN_00254c00(lVar1,uVar5);
                FUN_00254b90(lVar1,0);
                goto LAB_00254048;
              }
              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);
              psVar17 = local_48;
              local_58 = psVar17;
              if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
                FUN_0032e7c0("basic_string::_M_construct null not valid");
              }
              sVar16 = strlen(pcVar15);
              local_60 = sVar16;
              if (sVar16 < 0x10) {
                if (sVar16 == 1) {
                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
                }
                else if (sVar16 != 0) goto LAB_00254580;
              }
              else {
                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
                local_48[0] = local_60;
                local_58 = psVar17;
LAB_00254580:
                memcpy(psVar17,pcVar15,sVar16);
                psVar17 = local_58;
              }
              *(undefined1 *)((long)psVar17 + local_60) = 0;
              local_50 = local_60;
                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */
              FUN_00185730(&DAT_0038ec50,local_58);
              goto LAB_002542af;
            }
            pcVar15 = (char *)gettext(
                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"
                                     );
            psVar17 = local_48;
            local_58 = psVar17;
            if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
              FUN_0032e7c0("basic_string::_M_construct null not valid");
            }
            sVar16 = strlen(pcVar15);
            local_60 = sVar16;
            if (sVar16 < 0x10) {
              if (sVar16 == 1) {
                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
              }
              else if (sVar16 != 0) goto LAB_0025455b;
            }
            else {
              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
              local_48[0] = local_60;
              local_58 = psVar17;
LAB_0025455b:
              memcpy(psVar17,pcVar15,sVar16);
              psVar17 = local_58;
            }
            *(undefined1 *)((long)psVar17 + local_60) = 0;
            local_50 = local_60;
                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */
            FUN_00185730(&DAT_0038ec50,local_58);
            goto LAB_002542af;
          }
          pcVar15 = (char *)gettext(
                                   "Extremely large compile unit in debug info; failed to reduce debug info"
                                   );
          psVar17 = local_48;
          local_58 = psVar17;
          if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_0032e7c0("basic_string::_M_construct null not valid");
          }
          sVar16 = strlen(pcVar15);
          local_60 = sVar16;
          if (sVar16 < 0x10) {
            if (sVar16 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
            }
            else if (sVar16 != 0) goto LAB_002545e6;
          }
          else {
            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
            local_48[0] = local_60;
            local_58 = psVar17;
LAB_002545e6:
            memcpy(psVar17,pcVar15,sVar16);
            psVar17 = local_58;
          }
          *(undefined1 *)((long)psVar17 + local_60) = 0;
          local_50 = local_60;
                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */
          FUN_00185730(&DAT_0038ec50,local_58);
          goto LAB_002542af;
        }
        if (pbVar9 <= local_80 + 7) {
          pcVar15 = (char *)gettext(
                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"
                                   );
          psVar17 = local_48;
          local_58 = psVar17;
          if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_0032e7c0("basic_string::_M_construct null not valid");
          }
          sVar16 = strlen(pcVar15);
          local_60 = sVar16;
          if (sVar16 < 0x10) {
            if (sVar16 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
            }
            else if (sVar16 != 0) goto LAB_0025437e;
          }
          else {
            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
            local_48[0] = local_60;
            local_58 = psVar17;
LAB_0025437e:
            memcpy(psVar17,pcVar15,sVar16);
            psVar17 = local_58;
          }
          *(undefined1 *)((long)psVar17 + local_60) = 0;
          local_50 = local_60;
                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */
          FUN_00185730(&DAT_0038ec50,local_58);
LAB_002542af:
          *(undefined1 *)(param_1 + 0x168) = 1;
          if (local_58 == local_48) {
            return;
          }
          FUN_002eff50();
          return;
        }
        pbVar11 = local_80 + uVar7;
        uVar5 = FUN_00254700(&local_80);
        uVar6 = FUN_00254770(&local_80);
        uVar3 = FUN_00254810(&local_80);
        pbVar18 = local_80 + 1;
        bVar2 = *local_80;
        uVar14 = (ulong)bVar2;
        if ((char)bVar2 < '\0') {
          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);
          pbVar18 = local_80 + local_78;
        }
        else {
          local_78 = 1;
        }
        local_80 = pbVar18;
        local_70 = uVar14;
        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);
        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);
        lVar10 = local_68;
        if (cVar4 == '\0') {
          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");
          psVar17 = local_48;
          local_58 = psVar17;
          if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_0032e7c0("basic_string::_M_construct null not valid");
          }
          sVar16 = strlen(pcVar15);
          local_60 = sVar16;
          if (sVar16 < 0x10) {
            if (sVar16 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
            }
            else if (sVar16 != 0) goto LAB_002543c6;
          }
          else {
            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
            local_48[0] = local_60;
            local_58 = psVar17;
LAB_002543c6:
            memcpy(psVar17,pcVar15,sVar16);
            psVar17 = local_58;
          }
          *(undefined1 *)((long)psVar17 + local_60) = 0;
          local_50 = local_60;
                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */
          FUN_00185730(&DAT_0038ec50,local_58);
          goto LAB_002542af;
        }
        lVar13 = FUN_002cefd0(local_70);
        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);
        FUN_00254c00(lVar1,uVar5);
        FUN_00254c70(lVar1,0);
LAB_00254048:
        FUN_00254cd0(lVar1,uVar3);
        FUN_002ceed0(lVar1,local_70);
        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);
        local_80 = pbVar11;
      } while (pbVar11 < pbVar9);
    }
    bVar2 = *(byte *)(param_1 + 0x20);
    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {
      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);
      *(byte *)(param_1 + 0x20) = bVar2 | 2;
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");
}


CMP byte ptr [RDI + 0x168],0x0
JNZ 0x002541f0
PUSH R15
PUSH R14
PUSH R13
MOV R13,RDI
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x88
MOV RAX,qword ptr [RDI + 0xc0]
TEST RAX,RAX
JZ 0x00254647
MOV qword ptr [RSP + 0x38],RAX
ADD RAX,qword ptr [RDI + 0x10]
MOV RBX,RAX
MOV qword ptr [RSP + 0x8],RAX
CALL 0x0020a4b0
CMP RBX,qword ptr [RSP + 0x38]
JBE 0x002541f8
LEA RAX,[RSP + 0x48]
LEA R15,[RSP + 0x38]
MOV qword ptr [RSP + 0x18],RAX
LEA RAX,[RSP + 0x50]
LEA RBX,[R13 + 0x148]
MOV qword ptr [RSP + 0x20],RAX
LEA RAX,[RSP + 0x40]
MOV qword ptr [RSP + 0x28],RAX
JMP 0x00254086
MOV RBP,qword ptr [RSP + 0x38]
LEA RDX,[RBP + 0x7]
CMP qword ptr [RSP + 0x8],RDX
JBE 0x00254240
MOV EAX,EAX
MOV RDI,R15
ADD RBP,RAX
CALL 0x00254700
MOV RDI,R15
MOV word ptr [RSP + 0x16],AX
CALL 0x00254770
MOV RDI,R15
MOV R14D,EAX
CALL 0x00254810
MOVZX R12D,AL
MOV RAX,qword ptr [RSP + 0x38]
LEA RDI,[RAX + 0x1]
MOVZX EAX,byte ptr [RAX]
TEST AL,AL
JS 0x002541b0
MOV qword ptr [RSP + 0x40],0x1
MOV qword ptr [RSP + 0x38],RDI
MOV RSI,qword ptr [RSP + 0x18]
MOV EDX,R14D
MOV RDI,qword ptr [R13 + 0x160]
MOV qword ptr [RSP + 0x48],RAX
CALL 0x00253e10
SUB RSP,0x8
MOV R9D,R12D
MOV RDI,R13
PUSH 0x0
MOV R8,qword ptr [RSP + 0x18]
MOV RDX,RAX
MOV RCX,qword ptr [RSP + 0x30]
MOV RSI,qword ptr [RSP + 0x48]
CALL 0x00253630
POP RDX
POP RCX
TEST AL,AL
JZ 0x002542d8
MOV RDI,qword ptr [RSP + 0x48]
MOV R14,qword ptr [RSP + 0x50]
CALL 0x002cefd0
MOV RDI,RBX
LEA RSI,[R14 + RAX*0x1 + 0x7]
SUB RSI,qword ptr [RSP + 0x38]
CALL 0x00254c70
MOVZX ESI,word ptr [RSP + 0x16]
MOV RDI,RBX
CALL 0x00254c00
XOR ESI,ESI
MOV RDI,RBX
CALL 0x00254c70
MOV ESI,R12D
MOV RDI,RBX
CALL 0x00254cd0
MOV RSI,qword ptr [RSP + 0x48]
MOV RDI,RBX
CALL 0x002ceed0
MOV RSI,qword ptr [R13 + 0x150]
MOV RCX,qword ptr [RSP + 0x50]
MOV RDI,RBX
MOV RDX,qword ptr [RSP + 0x38]
CALL 0x00254920
MOV qword ptr [RSP + 0x38],RBP
CMP RBP,qword ptr [RSP + 0x8]
JNC 0x002541f8
MOV RDI,R15
CALL 0x00254770
CMP EAX,-0x1
JNZ 0x00253f68
MOV RDI,R15
CALL 0x00254770
TEST EAX,EAX
JNZ 0x002543fb
MOV RAX,qword ptr [RSP + 0x38]
ADD RAX,0x13
CMP qword ptr [RSP + 0x8],RAX
JBE 0x0025446f
MOV RDI,R15
CALL 0x002547c0
MOV RDI,R15
ADD RAX,qword ptr [RSP + 0x38]
MOV RBP,RAX
CALL 0x00254700
MOV RDI,R15
MOV word ptr [RSP + 0x16],AX
CALL 0x002547c0
MOV RDI,R15
MOV R12,RAX
CALL 0x00254810
MOVZX R14D,AL
MOV RAX,qword ptr [RSP + 0x38]
LEA RDI,[RAX + 0x1]
MOVZX EAX,byte ptr [RAX]
TEST AL,AL
JS 0x002541d0
MOV qword ptr [RSP + 0x40],0x1
MOV qword ptr [RSP + 0x38],RDI
MOV RSI,qword ptr [RSP + 0x18]
MOV RDX,R12
MOV RDI,qword ptr [R13 + 0x160]
MOV qword ptr [RSP + 0x48],RAX
CALL 0x00253e10
SUB RSP,0x8
MOV RDI,R13
MOV R9D,R14D
PUSH 0x1
MOV R8,qword ptr [RSP + 0x18]
MOV RDX,RAX
MOV RCX,qword ptr [RSP + 0x30]
MOV RSI,qword ptr [RSP + 0x48]
CALL 0x00253630
POP RSI
POP RDI
TEST AL,AL
JZ 0x002544e3
MOV ESI,0xffffffff
MOV RDI,RBX
CALL 0x00254c70
XOR ESI,ESI
MOV RDI,RBX
CALL 0x00254c70
MOV RDI,qword ptr [RSP + 0x48]
MOV R12,qword ptr [RSP + 0x50]
CALL 0x002cefd0
MOV RDI,RBX
LEA RSI,[R12 + RAX*0x1 + 0xb]
SUB RSI,qword ptr [RSP + 0x38]
CALL 0x00254b90
MOVZX ESI,word ptr [RSP + 0x16]
MOV RDI,RBX
CALL 0x00254c00
XOR ESI,ESI
MOV RDI,RBX
CALL 0x00254b90
MOV ESI,R14D
JMP 0x00254048
MOV RSI,qword ptr [RSP + 0x28]
MOVZX EDX,AL
CALL 0x002cedc0
MOV RDI,qword ptr [RSP + 0x40]
ADD RDI,qword ptr [RSP + 0x38]
JMP 0x00253fc2
MOV RSI,qword ptr [RSP + 0x28]
MOVZX EDX,AL
CALL 0x002cedc0
MOV RDI,qword ptr [RSP + 0x40]
ADD RDI,qword ptr [RSP + 0x38]
JMP 0x0025410c
RET
MOVZX EAX,byte ptr [R13 + 0x20]
MOV RDX,qword ptr [R13 + 0x150]
SUB RDX,qword ptr [R13 + 0x148]
TEST AL,0x2
JNZ 0x0025464c
TEST AL,0x8
JNZ 0x0025464c
OR EAX,0x2
MOV qword ptr [R13 + 0x10],RDX
MOV byte ptr [R13 + 0x20],AL
ADD RSP,0x88
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA RDI,[0x39a050]
LEA RBX,[RSP + 0x60]
CALL 0x00149320
LEA RBP,[RBX + 0x10]
MOV R14,RAX
MOV qword ptr [RSP + 0x60],RBP
TEST RAX,RAX
JZ 0x002543e3
MOV RDI,RAX
CALL 0x00149490
MOV R12,RAX
MOV qword ptr [RSP + 0x58],RAX
CMP RAX,0xf
JA 0x00254360
CMP RAX,0x1
JNZ 0x00254348
MOVZX EDX,byte ptr [R14]
MOV byte ptr [RSP + 0x70],DL
MOV qword ptr [RSP + 0x68],RAX
LEA RDI,[0x38ec50]
MOV byte ptr [RBP + RAX*0x1],0x0
MOV RSI,qword ptr [RSP + 0x60]
XOR EAX,EAX
CALL 0x00185730
MOV byte ptr [R13 + 0x168],0x1
MOV RDI,qword ptr [RSP + 0x60]
ADD RBX,0x10
CMP RDI,RBX
JZ 0x00254226
CALL 0x002eff50
JMP 0x00254226
LEA RDI,[0x39a018]
LEA RBX,[RSP + 0x60]
CALL 0x00149320
LEA RBP,[RBX + 0x10]
MOV R14,RAX
MOV qword ptr [RSP + 0x60],RBP
TEST RAX,RAX
JZ 0x002543ef
MOV RDI,RAX
CALL 0x00149490
MOV R12,RAX
MOV qword ptr [RSP + 0x58],RAX
CMP RAX,0xf
JA 0x002543a8
CMP RAX,0x1
JNZ 0x0025439b
MOVZX EDX,byte ptr [R14]
MOV byte ptr [RSP + 0x70],DL
MOV qword ptr [RSP + 0x68],RAX
LEA RDI,[0x38ec50]
MOV byte ptr [RBP + RAX*0x1],0x0
MOV RSI,qword ptr [RSP + 0x60]
XOR EAX,EAX
CALL 0x00185730
JMP 0x002542af
TEST RAX,RAX
JZ 0x00254292
MOV RAX,RBP
JMP 0x0025437e
XOR EDX,EDX
LEA RSI,[RSP + 0x58]
MOV RDI,RBX
CALL 0x002f6880
MOV RDX,qword ptr [RSP + 0x58]
MOV qword ptr [RSP + 0x60],RAX
MOV qword ptr [RSP + 0x70],RDX
MOV RDX,R12
MOV RSI,R14
MOV RDI,RAX
CALL 0x00149a90
MOV RAX,qword ptr [RSP + 0x58]
MOV RBP,qword ptr [RSP + 0x60]
JMP 0x00254292
TEST RAX,RAX
JZ 0x00254326
MOV RAX,RBP
JMP 0x002543c6
XOR EDX,EDX
LEA RSI,[RSP + 0x58]
MOV RDI,RBX
CALL 0x002f6880
MOV RDX,qword ptr [RSP + 0x58]
MOV qword ptr [RSP + 0x60],RAX
MOV qword ptr [RSP + 0x70],RDX
MOV RDX,R12
MOV RSI,R14
MOV RDI,RAX
CALL 0x00149a90
MOV RAX,qword ptr [RSP + 0x58]
MOV RBP,qword ptr [RSP + 0x60]
JMP 0x00254326
LEA RDI,[0x3800a0]
CALL 0x0032e7c0
LEA RDI,[0x3800a0]
CALL 0x0032e7c0
LEA RDI,[0x399f80]
LEA RBX,[RSP + 0x60]
CALL 0x00149320
LEA RBP,[RBX + 0x10]
MOV R14,RAX
MOV qword ptr [RSP + 0x60],RBP
TEST RAX,RAX
JZ 0x0025462f
MOV RDI,RAX
CALL 0x00149490
MOV R12,RAX
MOV qword ptr [RSP + 0x58],RAX
CMP RAX,0xf
JA 0x00254603
CMP RAX,0x1
JNZ 0x002545da
MOVZX EDX,byte ptr [R14]
MOV byte ptr [RSP + 0x70],DL
MOV qword ptr [RSP + 0x68],RAX
LEA RDI,[0x38ec50]
MOV byte ptr [RBP + RAX*0x1],0x0
MOV RSI,qword ptr [RSP + 0x60]
XOR EAX,EAX
CALL 0x00185730
JMP 0x002542af
LEA RDI,[0x399fc8]
LEA RBX,[RSP + 0x60]
CALL 0x00149320
LEA RBP,[RBX + 0x10]
MOV R14,RAX
MOV qword ptr [RSP + 0x60],RBP
TEST RAX,RAX
JZ 0x00254623
MOV RDI,RAX
CALL 0x00149490
MOV R12,RAX
MOV qword ptr [RSP + 0x58],RAX
CMP RAX,0xf
JA 0x002545ba
CMP RAX,0x1
JNZ 0x0025454f
MOVZX EDX,byte ptr [R14]
MOV byte ptr [RSP + 0x70],DL
MOV qword ptr [RSP + 0x68],RAX
LEA RDI,[0x38ec50]
MOV byte ptr [RBP + RAX*0x1],0x0
MOV RSI,qword ptr [RSP + 0x60]
XOR EAX,EAX
CALL 0x00185730
JMP 0x002542af
LEA RDI,[0x39a018]
LEA RBX,[RSP + 0x60]
CALL 0x00149320
LEA RBP,[RBX + 0x10]
MOV R14,RAX
MOV qword ptr [RSP + 0x60],RBP
TEST RAX,RAX
JZ 0x0025463b
MOV RDI,RAX
CALL 0x00149490
MOV R12,RAX
MOV qword ptr [RSP + 0x58],RAX
CMP RAX,0xf
JA 0x0025459a
CMP RAX,0x1
JNZ 0x00254578
MOVZX EDX,byte ptr [R14]
MOV byte ptr [RSP + 0x70],DL
MOV qword ptr [RSP + 0x68],RAX
LEA RDI,[0x38ec50]
MOV byte ptr [RBP + RAX*0x1],0x0
MOV RSI,qword ptr [RSP + 0x60]
XOR EAX,EAX
CALL 0x00185730
JMP 0x002542af
TEST RAX,RAX
JZ 0x002544c1
MOV RAX,RBP
MOV RDX,R12
MOV RSI,R14
MOV RDI,RAX
CALL 0x00149a90
MOV RAX,qword ptr [RSP + 0x58]
MOV RBP,qword ptr [RSP + 0x60]
JMP 0x002544c1
TEST RAX,RAX
JZ 0x0025452d
MOV RAX,RBP
MOV RDX,R12
MOV RSI,R14
MOV RDI,RAX
CALL 0x00149a90
MOV RAX,qword ptr [RSP + 0x58]
MOV RBP,qword ptr [RSP + 0x60]
JMP 0x0025452d
XOR EDX,EDX
LEA RSI,[RSP + 0x58]
MOV RDI,RBX
CALL 0x002f6880
MOV RDX,qword ptr [RSP + 0x58]
MOV qword ptr [RSP + 0x60],RAX
MOV qword ptr [RSP + 0x70],RDX
JMP 0x00254580
XOR EDX,EDX
LEA RSI,[RSP + 0x58]
MOV RDI,RBX
CALL 0x002f6880
MOV RDX,qword ptr [RSP + 0x58]
MOV qword ptr [RSP + 0x60],RAX
MOV qword ptr [RSP + 0x70],RDX
JMP 0x0025455b
TEST RAX,RAX
JZ 0x0025444d
MOV RAX,RBP
MOV RDX,R12
MOV RSI,R14
MOV RDI,RAX
CALL 0x00149a90
MOV RAX,qword ptr [RSP + 0x58]
MOV RBP,qword ptr [RSP + 0x60]
JMP 0x0025444d
XOR EDX,EDX
LEA RSI,[RSP + 0x58]
MOV RDI,RBX
CALL 0x002f6880
MOV RDX,qword ptr [RSP + 0x58]
MOV qword ptr [RSP + 0x60],RAX
MOV qword ptr [RSP + 0x70],RDX
JMP 0x002545e6
LEA RDI,[0x3800a0]
CALL 0x0032e7c0
LEA RDI,[0x3800a0]
CALL 0x0032e7c0
LEA RDI,[0x3800a0]
CALL 0x0032e7c0
CALL 0x00253490
LEA RDX,[0x399e88]
MOV ESI,0x218
LEA RDI,[0x385398]
CALL 0x0018dcf0
(translation_unit "void FUN_00253ee0(long param_1)\n\n{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}\n\n" (function_definition "void FUN_00253ee0(long param_1)\n\n{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}" primitive_type (function_declarator "FUN_00253ee0(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "undefined2 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "size_t *psVar17;" primitive_type (pointer_declarator "*psVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t local_60;" primitive_type identifier ;) (declaration "size_t *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "size_t local_50;" primitive_type identifier ;) (declaration "size_t local_48 [3];" primitive_type (array_declarator "local_48 [3]" identifier [ number_literal ]) ;) (if_statement "if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x168) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x168) != '\0'" (pointer_expression "*(char *)(param_1 + 0x168)" * (cast_expression "(char *)(param_1 + 0x168)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pbVar18 = *(byte **)(param_1 + 0xc0);" (assignment_expression "pbVar18 = *(byte **)(param_1 + 0xc0)" identifier = (pointer_expression "*(byte **)(param_1 + 0xc0)" * (cast_expression "(byte **)(param_1 + 0xc0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) (if_statement "if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" if (parenthesized_expression "(pbVar18 == (byte *)0x0)" ( (binary_expression "pbVar18 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00253490();\n  }" { (expression_statement "FUN_00253490();" (call_expression "FUN_00253490()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" else (compound_statement "{\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" { (expression_statement "pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);" (assignment_expression "pbVar9 = pbVar18 + *(long *)(param_1 + 0x10)" identifier = (binary_expression "pbVar18 + *(long *)(param_1 + 0x10)" identifier + (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" identifier = identifier) ;) (expression_statement "FUN_0020a4b0();" (call_expression "FUN_0020a4b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }" if (parenthesized_expression "(local_80 < pbVar9)" ( (binary_expression "local_80 < pbVar9" identifier < identifier) )) (compound_statement "{\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }" { (expression_statement "lVar1 = param_1 + 0x148;" (assignment_expression "lVar1 = param_1 + 0x148" identifier = (binary_expression "param_1 + 0x148" identifier + number_literal)) ;) (do_statement "do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);" do (compound_statement "{\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      }" { (expression_statement "uVar7 = FUN_00254770(&local_80);" (assignment_expression "uVar7 = FUN_00254770(&local_80)" identifier = (call_expression "FUN_00254770(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (if_statement "if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" { (expression_statement "iVar8 = FUN_00254770(&local_80);" (assignment_expression "iVar8 = FUN_00254770(&local_80)" identifier = (call_expression "FUN_00254770(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }" { (if_statement "if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }" if (parenthesized_expression "(local_80 + 0x13 < pbVar9)" ( (binary_expression "local_80 + 0x13 < pbVar9" (binary_expression "local_80 + 0x13" identifier + number_literal) < identifier) )) (compound_statement "{\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }" { (expression_statement "lVar10 = FUN_002547c0(&local_80);" (assignment_expression "lVar10 = FUN_002547c0(&local_80)" identifier = (call_expression "FUN_002547c0(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "pbVar11 = local_80 + lVar10;" (assignment_expression "pbVar11 = local_80 + lVar10" identifier = (binary_expression "local_80 + lVar10" identifier + identifier)) ;) (expression_statement "uVar5 = FUN_00254700(&local_80);" (assignment_expression "uVar5 = FUN_00254700(&local_80)" identifier = (call_expression "FUN_00254700(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar12 = FUN_002547c0(&local_80);" (assignment_expression "uVar12 = FUN_002547c0(&local_80)" identifier = (call_expression "FUN_002547c0(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar3 = FUN_00254810(&local_80);" (assignment_expression "uVar3 = FUN_00254810(&local_80)" identifier = (call_expression "FUN_00254810(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "pbVar18 = local_80 + 1;" (assignment_expression "pbVar18 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *local_80;" (assignment_expression "bVar2 = *local_80" identifier = (pointer_expression "*local_80" * identifier)) ;) (expression_statement "uVar14 = (ulong)bVar2;" (assignment_expression "uVar14 = (ulong)bVar2" identifier = (cast_expression "(ulong)bVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\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                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }" { (expression_statement "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);" (assignment_expression "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier = (call_expression "FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier (argument_list "(pbVar18,&local_78,bVar2)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier )))) ;) (expression_statement "pbVar18 = local_80 + local_78;" (assignment_expression "pbVar18 = local_80 + local_78" identifier = (binary_expression "local_80 + local_78" identifier + identifier)) ;) }) (else_clause "else {\n                local_78 = 1;\n              }" else (compound_statement "{\n                local_78 = 1;\n              }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) }))) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" identifier = identifier) ;) (expression_statement "local_70 = uVar14;" (assignment_expression "local_70 = uVar14" identifier = identifier) ;) (expression_statement "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);" (assignment_expression "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" identifier = (call_expression "FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x160)" * (cast_expression "(undefined8 *)(param_1 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) , (pointer_expression "&local_70" & identifier) , identifier )))) ;) (expression_statement "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);" (assignment_expression "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier = (call_expression "FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier (argument_list "(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" ( identifier , identifier , identifier , (pointer_expression "&local_68" & identifier) , identifier , identifier )))) ;) (if_statement "if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }" { (expression_statement "FUN_00254c70(lVar1,0xffffffff);" (call_expression "FUN_00254c70(lVar1,0xffffffff)" identifier (argument_list "(lVar1,0xffffffff)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00254c70(lVar1,0);" (call_expression "FUN_00254c70(lVar1,0)" identifier (argument_list "(lVar1,0)" ( identifier , number_literal ))) ;) (expression_statement "lVar10 = local_68;" (assignment_expression "lVar10 = local_68" identifier = identifier) ;) (expression_statement "lVar13 = FUN_002cefd0(local_70);" (assignment_expression "lVar13 = FUN_002cefd0(local_70)" identifier = (call_expression "FUN_002cefd0(local_70)" identifier (argument_list "(local_70)" ( identifier )))) ;) (expression_statement "FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);" (call_expression "FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80)" identifier (argument_list "(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80)" ( identifier , (binary_expression "(lVar10 + 0xb + lVar13) - (long)local_80" (parenthesized_expression "(lVar10 + 0xb + lVar13)" ( (binary_expression "lVar10 + 0xb + lVar13" (binary_expression "lVar10 + 0xb" identifier + number_literal) + identifier) )) - (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "FUN_00254c00(lVar1,uVar5);" (call_expression "FUN_00254c00(lVar1,uVar5)" identifier (argument_list "(lVar1,uVar5)" ( identifier , identifier ))) ;) (expression_statement "FUN_00254b90(lVar1,0);" (call_expression "FUN_00254b90(lVar1,0)" identifier (argument_list "(lVar1,0)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00254048;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);" (assignment_expression "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1)" identifier = (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info",1)" identifier (argument_list "("Invalid DIE in debug info; failed to reduce debug info",1)" ( (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" " string_content ") , number_literal ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }" { comment (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }" { (if_statement "if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_00254580;" else (if_statement "if (sVar16 != 0) goto LAB_00254580;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00254580;" goto statement_identifier ;)))) }) (else_clause "else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" else (compound_statement "{\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) comment (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );" (assignment_expression "pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" identifier = (cast_expression "(char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" identifier (argument_list "(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" ( (string_literal ""Debug info extends beyond .debug_info section;failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }" { comment (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }" { (if_statement "if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_0025455b;" else (if_statement "if (sVar16 != 0) goto LAB_0025455b;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025455b;" goto statement_identifier ;)))) }) (else_clause "else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" else (compound_statement "{\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) comment (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );" (assignment_expression "pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" identifier = (cast_expression "(char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" identifier (argument_list "(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" ( (string_literal ""Extremely large compile unit in debug info; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" { comment (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }" { (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_002545e6;" else (if_statement "if (sVar16 != 0) goto LAB_002545e6;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002545e6;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" else (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) comment (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (if_statement "if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }" if (parenthesized_expression "(pbVar9 <= local_80 + 7)" ( (binary_expression "pbVar9 <= local_80 + 7" identifier <= (binary_expression "local_80 + 7" identifier + number_literal)) )) (compound_statement "{\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }" { (expression_statement "pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );" (assignment_expression "pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" identifier = (cast_expression "(char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" identifier (argument_list "(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" ( (string_literal ""Debug info extends beyond .debug_info section; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" { comment (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }" { (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_0025437e;" else (if_statement "if (sVar16 != 0) goto LAB_0025437e;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025437e;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" else (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) comment (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (labeled_statement "LAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x168) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x168) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x168)" * (cast_expression "(undefined1 *)(param_1 + 0x168)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if (local_58 == local_48) {\n            return;\n          }" if (parenthesized_expression "(local_58 == local_48)" ( (binary_expression "local_58 == local_48" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "FUN_002eff50();" (call_expression "FUN_002eff50()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "pbVar11 = local_80 + uVar7;" (assignment_expression "pbVar11 = local_80 + uVar7" identifier = (binary_expression "local_80 + uVar7" identifier + identifier)) ;) (expression_statement "uVar5 = FUN_00254700(&local_80);" (assignment_expression "uVar5 = FUN_00254700(&local_80)" identifier = (call_expression "FUN_00254700(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar6 = FUN_00254770(&local_80);" (assignment_expression "uVar6 = FUN_00254770(&local_80)" identifier = (call_expression "FUN_00254770(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar3 = FUN_00254810(&local_80);" (assignment_expression "uVar3 = FUN_00254810(&local_80)" identifier = (call_expression "FUN_00254810(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "pbVar18 = local_80 + 1;" (assignment_expression "pbVar18 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *local_80;" (assignment_expression "bVar2 = *local_80" identifier = (pointer_expression "*local_80" * identifier)) ;) (expression_statement "uVar14 = (ulong)bVar2;" (assignment_expression "uVar14 = (ulong)bVar2" identifier = (cast_expression "(ulong)bVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\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          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }" { (expression_statement "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);" (assignment_expression "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier = (call_expression "FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier (argument_list "(pbVar18,&local_78,bVar2)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier )))) ;) (expression_statement "pbVar18 = local_80 + local_78;" (assignment_expression "pbVar18 = local_80 + local_78" identifier = (binary_expression "local_80 + local_78" identifier + identifier)) ;) }) (else_clause "else {\n          local_78 = 1;\n        }" else (compound_statement "{\n          local_78 = 1;\n        }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) }))) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" identifier = identifier) ;) (expression_statement "local_70 = uVar14;" (assignment_expression "local_70 = uVar14" identifier = identifier) ;) (expression_statement "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);" (assignment_expression "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" identifier = (call_expression "FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x160)" * (cast_expression "(undefined8 *)(param_1 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) , (pointer_expression "&local_70" & identifier) , identifier )))) ;) (expression_statement "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);" (assignment_expression "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier = (call_expression "FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier (argument_list "(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" ( identifier , identifier , identifier , (pointer_expression "&local_68" & identifier) , identifier , identifier )))) ;) (expression_statement "lVar10 = local_68;" (assignment_expression "lVar10 = local_68" identifier = identifier) ;) (if_statement "if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" { (expression_statement "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");" (assignment_expression "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" identifier = (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info")" identifier (argument_list "("Invalid DIE in debug info; failed to reduce debug info")" ( (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" { comment (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }" { (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_002543c6;" else (if_statement "if (sVar16 != 0) goto LAB_002543c6;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002543c6;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" else (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) comment (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "lVar13 = FUN_002cefd0(local_70);" (assignment_expression "lVar13 = FUN_002cefd0(local_70)" identifier = (call_expression "FUN_002cefd0(local_70)" identifier (argument_list "(local_70)" ( identifier )))) ;) (expression_statement "FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);" (call_expression "FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80)" identifier (argument_list "(lVar1,(lVar10 + 7 + lVar13) - (long)local_80)" ( identifier , (binary_expression "(lVar10 + 7 + lVar13) - (long)local_80" (parenthesized_expression "(lVar10 + 7 + lVar13)" ( (binary_expression "lVar10 + 7 + lVar13" (binary_expression "lVar10 + 7" identifier + number_literal) + identifier) )) - (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "FUN_00254c00(lVar1,uVar5);" (call_expression "FUN_00254c00(lVar1,uVar5)" identifier (argument_list "(lVar1,uVar5)" ( identifier , identifier ))) ;) (expression_statement "FUN_00254c70(lVar1,0);" (call_expression "FUN_00254c70(lVar1,0)" identifier (argument_list "(lVar1,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);" statement_identifier : (expression_statement "FUN_00254cd0(lVar1,uVar3);" (call_expression "FUN_00254cd0(lVar1,uVar3)" identifier (argument_list "(lVar1,uVar3)" ( identifier , identifier ))) ;)) (expression_statement "FUN_002ceed0(lVar1,local_70);" (call_expression "FUN_002ceed0(lVar1,local_70)" identifier (argument_list "(lVar1,local_70)" ( identifier , identifier ))) ;) (expression_statement "FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);" (call_expression "FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68)" identifier (argument_list "(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68)" ( identifier , (pointer_expression "*(undefined8 *)(param_1 + 0x150)" * (cast_expression "(undefined8 *)(param_1 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "local_80 = pbVar11;" (assignment_expression "local_80 = pbVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar11 < pbVar9)" ( (binary_expression "pbVar11 < pbVar9" identifier < identifier) )) ;) })) (expression_statement "bVar2 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar2 = *(byte *)(param_1 + 0x20)" identifier = (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }" if (parenthesized_expression "(((bVar2 & 2) == 0) && ((bVar2 & 8) == 0))" ( (binary_expression "((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)" (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((bVar2 & 8) == 0)" ( (binary_expression "(bVar2 & 8) == 0" (parenthesized_expression "(bVar2 & 8)" ( (binary_expression "bVar2 & 8" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }" { (expression_statement "*(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);" (assignment_expression "*(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148)" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "*(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148)" (pointer_expression "*(long *)(param_1 + 0x150)" * (cast_expression "(long *)(param_1 + 0x150)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x148)" * (cast_expression "(long *)(param_1 + 0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x148)" ( (binary_expression "param_1 + 0x148" identifier + number_literal) )))))) ;) (expression_statement "*(byte *)(param_1 + 0x20) = bVar2 | 2;" (assignment_expression "*(byte *)(param_1 + 0x20) = bVar2 | 2" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = (binary_expression "bVar2 | 2" identifier | number_literal)) ;) (return_statement "return;" return ;) })) }))) comment (expression_statement "FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");" (call_expression "FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size")" identifier (argument_list "("../../gold/output.h",0x218,"set_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_data_size"" " string_content ") ))) ;) })))
(translation_unit "/* DWARF original prototype: void set_final_data_size(Output_reduced_debug_info_section * this) */\n\nvoid __thiscall\ngold::Output_reduced_debug_info_section::set_final_data_size\n          (Output_reduced_debug_info_section *this)\n\n{\n  vector<unsigned_char,_std::allocator<unsigned_char>_> *destination;\n  byte bVar1;\n  byte value;\n  bool bVar2;\n  Valtype VVar3;\n  Valtype VVar4;\n  uchar *buffer_end;\n  Valtype VVar5;\n  uchar *puVar6;\n  uchar *puVar7;\n  size_t sVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  size_type *psVar12;\n  undefined8 uVar13;\n  uchar *debug_info;\n  size_t LEB_size;\n  uint64_t abbreviation_number;\n  uchar *die_end;\n  size_type __dnew;\n  size_type *local_58;\n  size_type local_50;\n  size_type local_48 [3];\n  \n  if (this->failed_ != false) {\n    return;\n  }\n  debug_info = (this->super_Output_section).postprocessing_buffer_;\n  if (debug_info == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Output_section::postprocessing_buffer(&this->super_Output_section);\n  }\n  buffer_end = debug_info + (this->super_Output_section).super_Output_data.data_size_;\n  Output_section::write_to_postprocessing_buffer(&this->super_Output_section);\n  if (debug_info < buffer_end) {\n    destination = &this->data_;\n    do {\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    } while (puVar6 < buffer_end);\n  }\n  bVar1 = (this->super_Output_section).super_Output_data.field_0x20;\n  if (((bVar1 & 2) == 0) && ((bVar1 & 8) == 0)) {\n    (this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_start;\n    (this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");\n}\n\n" comment (function_definition "void __thiscall\ngold::Output_reduced_debug_info_section::set_final_data_size\n          (Output_reduced_debug_info_section *this)\n\n{\n  vector<unsigned_char,_std::allocator<unsigned_char>_> *destination;\n  byte bVar1;\n  byte value;\n  bool bVar2;\n  Valtype VVar3;\n  Valtype VVar4;\n  uchar *buffer_end;\n  Valtype VVar5;\n  uchar *puVar6;\n  uchar *puVar7;\n  size_t sVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  size_type *psVar12;\n  undefined8 uVar13;\n  uchar *debug_info;\n  size_t LEB_size;\n  uint64_t abbreviation_number;\n  uchar *die_end;\n  size_type __dnew;\n  size_type *local_58;\n  size_type local_50;\n  size_type local_48 [3];\n  \n  if (this->failed_ != false) {\n    return;\n  }\n  debug_info = (this->super_Output_section).postprocessing_buffer_;\n  if (debug_info == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Output_section::postprocessing_buffer(&this->super_Output_section);\n  }\n  buffer_end = debug_info + (this->super_Output_section).super_Output_data.data_size_;\n  Output_section::write_to_postprocessing_buffer(&this->super_Output_section);\n  if (debug_info < buffer_end) {\n    destination = &this->data_;\n    do {\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    } while (puVar6 < buffer_end);\n  }\n  bVar1 = (this->super_Output_section).super_Output_data.field_0x20;\n  if (((bVar1 & 2) == 0) && ((bVar1 & 8) == 0)) {\n    (this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_start;\n    (this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_reduced_debug_info_section::" identifier : : identifier : :) (function_declarator "set_final_data_size\n          (Output_reduced_debug_info_section *this)" identifier (parameter_list "(Output_reduced_debug_info_section *this)" ( (parameter_declaration "Output_reduced_debug_info_section *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  vector<unsigned_char,_std::allocator<unsigned_char>_> *destination;\n  byte bVar1;\n  byte value;\n  bool bVar2;\n  Valtype VVar3;\n  Valtype VVar4;\n  uchar *buffer_end;\n  Valtype VVar5;\n  uchar *puVar6;\n  uchar *puVar7;\n  size_t sVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  size_type *psVar12;\n  undefined8 uVar13;\n  uchar *debug_info;\n  size_t LEB_size;\n  uint64_t abbreviation_number;\n  uchar *die_end;\n  size_type __dnew;\n  size_type *local_58;\n  size_type local_50;\n  size_type local_48 [3];\n  \n  if (this->failed_ != false) {\n    return;\n  }\n  debug_info = (this->super_Output_section).postprocessing_buffer_;\n  if (debug_info == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Output_section::postprocessing_buffer(&this->super_Output_section);\n  }\n  buffer_end = debug_info + (this->super_Output_section).super_Output_data.data_size_;\n  Output_section::write_to_postprocessing_buffer(&this->super_Output_section);\n  if (debug_info < buffer_end) {\n    destination = &this->data_;\n    do {\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    } while (puVar6 < buffer_end);\n  }\n  bVar1 = (this->super_Output_section).super_Output_data.field_0x20;\n  if (((bVar1 & 2) == 0) && ((bVar1 & 8) == 0)) {\n    (this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_start;\n    (this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");\n}" { (ERROR "vector<unsigned_char,_std::" (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_> *destination;" (binary_expression "allocator<unsigned_char>_> *destination" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > (pointer_expression "*destination" * identifier)) ;) (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte value;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "Valtype VVar3;" type_identifier identifier ;) (declaration "Valtype VVar4;" type_identifier identifier ;) (declaration "uchar *buffer_end;" type_identifier (pointer_declarator "*buffer_end" * identifier) ;) (declaration "Valtype VVar5;" type_identifier identifier ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uchar *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "size_type *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "uchar *debug_info;" type_identifier (pointer_declarator "*debug_info" * identifier) ;) (declaration "size_t LEB_size;" primitive_type identifier ;) (declaration "uint64_t abbreviation_number;" primitive_type identifier ;) (declaration "uchar *die_end;" type_identifier (pointer_declarator "*die_end" * identifier) ;) (declaration "size_type __dnew;" type_identifier identifier ;) (declaration "size_type *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "size_type local_50;" type_identifier identifier ;) (declaration "size_type local_48 [3];" type_identifier (array_declarator "local_48 [3]" identifier [ number_literal ]) ;) (if_statement "if (this->failed_ != false) {\n    return;\n  }" if (parenthesized_expression "(this->failed_ != false)" ( (binary_expression "this->failed_ != false" (field_expression "this->failed_" identifier -> field_identifier) != false) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "debug_info = (this->super_Output_section).postprocessing_buffer_;" (assignment_expression "debug_info = (this->super_Output_section).postprocessing_buffer_" identifier = (field_expression "(this->super_Output_section).postprocessing_buffer_" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (debug_info == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Output_section::postprocessing_buffer(&this->super_Output_section);\n  }" if (parenthesized_expression "(debug_info == (uchar *)0x0)" ( (binary_expression "debug_info == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    Output_section::postprocessing_buffer(&this->super_Output_section);\n  }" { comment (labeled_statement "Output_section::postprocessing_buffer(&this->super_Output_section);" statement_identifier : (ERROR ":" :) (expression_statement "postprocessing_buffer(&this->super_Output_section);" (call_expression "postprocessing_buffer(&this->super_Output_section)" identifier (argument_list "(&this->super_Output_section)" ( (pointer_expression "&this->super_Output_section" & (field_expression "this->super_Output_section" identifier -> field_identifier)) ))) ;)) })) (expression_statement "buffer_end = debug_info + (this->super_Output_section).super_Output_data.data_size_;" (assignment_expression "buffer_end = debug_info + (this->super_Output_section).super_Output_data.data_size_" identifier = (binary_expression "debug_info + (this->super_Output_section).super_Output_data.data_size_" identifier + (field_expression "(this->super_Output_section).super_Output_data.data_size_" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (labeled_statement "Output_section::write_to_postprocessing_buffer(&this->super_Output_section);" statement_identifier : (ERROR ":" :) (expression_statement "write_to_postprocessing_buffer(&this->super_Output_section);" (call_expression "write_to_postprocessing_buffer(&this->super_Output_section)" identifier (argument_list "(&this->super_Output_section)" ( (pointer_expression "&this->super_Output_section" & (field_expression "this->super_Output_section" identifier -> field_identifier)) ))) ;)) (if_statement "if (debug_info < buffer_end) {\n    destination = &this->data_;\n    do {\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    } while (puVar6 < buffer_end);\n  }" if (parenthesized_expression "(debug_info < buffer_end)" ( (binary_expression "debug_info < buffer_end" identifier < identifier) )) (compound_statement "{\n    destination = &this->data_;\n    do {\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    } while (puVar6 < buffer_end);\n  }" { (expression_statement "destination = &this->data_;" (assignment_expression "destination = &this->data_" identifier = (pointer_expression "&this->data_" & (field_expression "this->data_" identifier -> field_identifier))) ;) (do_statement "do {\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    } while (puVar6 < buffer_end);" do (compound_statement "{\n      VVar4 = read_from_pointer<32>(&debug_info);\n      if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }\n      puVar6 = debug_info + VVar4;\n      VVar3 = read_from_pointer<16>(&debug_info);\n      VVar4 = read_from_pointer<32>(&debug_info);\n      value = read_from_pointer<8>(&debug_info);\n      puVar7 = debug_info + 1;\n      bVar1 = *debug_info;\n      uVar9 = (ulong)bVar1;\n      if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\n      }\n      debug_info = puVar7;\n      abbreviation_number = uVar9;\n      puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);\n      bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);\n      puVar7 = die_end;\n      if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }\n      sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n      insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);\n      insert_into_vector<16>(destination,VVar3);\n      insert_into_vector<32>(destination,0);\nLAB_00254048:\n      insert_into_vector<8>(destination,value);\n      write_unsigned_LEB_128(destination,abbreviation_number);\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);\n      debug_info = puVar6;\n    }" { (expression_statement "VVar4 = read_from_pointer<32>(&debug_info);" (assignment_expression "VVar4 = read_from_pointer<32>(&debug_info)" identifier = (binary_expression "read_from_pointer<32>(&debug_info)" (binary_expression "read_from_pointer<32" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (if_statement "if (VVar4 == 0xffffffff) {\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }" if (parenthesized_expression "(VVar4 == 0xffffffff)" ( (binary_expression "VVar4 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        VVar4 = read_from_pointer<32>(&debug_info);\n        if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }\n        pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }" { (expression_statement "VVar4 = read_from_pointer<32>(&debug_info);" (assignment_expression "VVar4 = read_from_pointer<32>(&debug_info)" identifier = (binary_expression "read_from_pointer<32>(&debug_info)" (binary_expression "read_from_pointer<32" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (if_statement "if (VVar4 == 0) {\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }" if (parenthesized_expression "(VVar4 == 0)" ( (binary_expression "VVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }\n          pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );\n          psVar12 = local_48;\n          local_58 = psVar12;\n          if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }\n          sVar11 = strlen(pcVar10);\n          __dnew = sVar11;\n          if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }\n          *(undefined1 *)((long)psVar12 + __dnew) = 0;\n          local_50 = __dnew;\n                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */\n          gold_warning("%s",local_58);\n          goto LAB_002542af;\n        }" { (if_statement "if (debug_info + 0x13 < buffer_end) {\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }" if (parenthesized_expression "(debug_info + 0x13 < buffer_end)" ( (binary_expression "debug_info + 0x13 < buffer_end" (binary_expression "debug_info + 0x13" identifier + number_literal) < identifier) )) (compound_statement "{\n            VVar5 = read_from_pointer<64>(&debug_info);\n            puVar6 = debug_info + VVar5;\n            VVar3 = read_from_pointer<16>(&debug_info);\n            VVar5 = read_from_pointer<64>(&debug_info);\n            value = read_from_pointer<8>(&debug_info);\n            puVar7 = debug_info + 1;\n            bVar1 = *debug_info;\n            uVar9 = (ulong)bVar1;\n            if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\n            }\n            debug_info = puVar7;\n            abbreviation_number = uVar9;\n            puVar7 = Output_reduced_debug_abbrev_section::get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);\n            uVar13 = 1;\n            bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);\n            if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }\n            pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);\n            psVar12 = local_48;\n            local_58 = psVar12;\n            if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }\n            sVar11 = strlen(pcVar10);\n            __dnew = sVar11;\n            if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }\n            *(undefined1 *)((long)psVar12 + __dnew) = 0;\n            local_50 = __dnew;\n                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */\n            gold_warning("%s",local_58);\n            goto LAB_002542af;\n          }" { (expression_statement "VVar5 = read_from_pointer<64>(&debug_info);" (assignment_expression "VVar5 = read_from_pointer<64>(&debug_info)" identifier = (binary_expression "read_from_pointer<64>(&debug_info)" (binary_expression "read_from_pointer<64" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "puVar6 = debug_info + VVar5;" (assignment_expression "puVar6 = debug_info + VVar5" identifier = (binary_expression "debug_info + VVar5" identifier + identifier)) ;) (expression_statement "VVar3 = read_from_pointer<16>(&debug_info);" (assignment_expression "VVar3 = read_from_pointer<16>(&debug_info)" identifier = (binary_expression "read_from_pointer<16>(&debug_info)" (binary_expression "read_from_pointer<16" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "VVar5 = read_from_pointer<64>(&debug_info);" (assignment_expression "VVar5 = read_from_pointer<64>(&debug_info)" identifier = (binary_expression "read_from_pointer<64>(&debug_info)" (binary_expression "read_from_pointer<64" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "value = read_from_pointer<8>(&debug_info);" (assignment_expression "value = read_from_pointer<8>(&debug_info)" identifier = (binary_expression "read_from_pointer<8>(&debug_info)" (binary_expression "read_from_pointer<8" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "puVar7 = debug_info + 1;" (assignment_expression "puVar7 = debug_info + 1" identifier = (binary_expression "debug_info + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *debug_info;" (assignment_expression "bVar1 = *debug_info" identifier = (pointer_expression "*debug_info" * identifier)) ;) (expression_statement "uVar9 = (ulong)bVar1;" (assignment_expression "uVar9 = (ulong)bVar1" identifier = (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }\n            else {\n              LEB_size = 1;\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              uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n              puVar7 = debug_info + LEB_size;\n            }" { (expression_statement "uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);" (assignment_expression "uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1)" identifier = (call_expression "read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1)" identifier (argument_list "(puVar7,&LEB_size,bVar1)" ( identifier , (pointer_expression "&LEB_size" & identifier) , identifier )))) ;) (expression_statement "puVar7 = debug_info + LEB_size;" (assignment_expression "puVar7 = debug_info + LEB_size" identifier = (binary_expression "debug_info + LEB_size" identifier + identifier)) ;) }) (else_clause "else {\n              LEB_size = 1;\n            }" else (compound_statement "{\n              LEB_size = 1;\n            }" { (expression_statement "LEB_size = 1;" (assignment_expression "LEB_size = 1" identifier = number_literal) ;) }))) (expression_statement "debug_info = puVar7;" (assignment_expression "debug_info = puVar7" identifier = identifier) ;) (expression_statement "abbreviation_number = uVar9;" (assignment_expression "abbreviation_number = uVar9" identifier = identifier) ;) (ERROR "puVar7 = Output_reduced_debug_abbrev_section::" (assignment_expression "puVar7 = Output_reduced_debug_abbrev_section" identifier = identifier) : :) (expression_statement "get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5);" (call_expression "get_new_abbrev\n                               (this->associated_abbrev_,&abbreviation_number,VVar5)" identifier (argument_list "(this->associated_abbrev_,&abbreviation_number,VVar5)" ( (field_expression "this->associated_abbrev_" identifier -> field_identifier) , (pointer_expression "&abbreviation_number" & identifier) , identifier ))) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true);" (assignment_expression "bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true)" identifier = (call_expression "get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true)" identifier (argument_list "(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,true)" ( identifier , identifier , identifier , (pointer_expression "&die_end" & identifier) , identifier , (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) , true )))) ;) (if_statement "if (bVar2) {\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n              insert_into_vector<32>(destination,0xffffffff);\n              insert_into_vector<32>(destination,0);\n              puVar7 = die_end;\n              sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);\n              insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));\n              insert_into_vector<16>(destination,VVar3);\n              insert_into_vector<64>(destination,0);\n              goto LAB_00254048;\n            }" { (expression_statement "insert_into_vector<32>(destination,0xffffffff);" (binary_expression "insert_into_vector<32>(destination,0xffffffff)" (binary_expression "insert_into_vector<32" identifier < number_literal) > (parenthesized_expression "(destination,0xffffffff)" ( (comma_expression "destination,0xffffffff" identifier , number_literal) ))) ;) (expression_statement "insert_into_vector<32>(destination,0);" (binary_expression "insert_into_vector<32>(destination,0)" (binary_expression "insert_into_vector<32" identifier < number_literal) > (parenthesized_expression "(destination,0)" ( (comma_expression "destination,0" identifier , number_literal) ))) ;) (expression_statement "puVar7 = die_end;" (assignment_expression "puVar7 = die_end" identifier = identifier) ;) (expression_statement "sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);" (assignment_expression "sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number)" identifier = (call_expression "get_length_as_unsigned_LEB_128(abbreviation_number)" identifier (argument_list "(abbreviation_number)" ( identifier )))) ;) (expression_statement "insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)));" (binary_expression "insert_into_vector<64>\n                        (destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)))" (binary_expression "insert_into_vector<64" identifier < number_literal) > (parenthesized_expression "(destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info)))" ( (comma_expression "destination,(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info))" identifier , (call_expression "(Valtype)(puVar7 + ((sVar8 + 0xb) - (long)debug_info))" (parenthesized_expression "(Valtype)" ( identifier )) (argument_list "(puVar7 + ((sVar8 + 0xb) - (long)debug_info))" ( (binary_expression "puVar7 + ((sVar8 + 0xb) - (long)debug_info)" identifier + (parenthesized_expression "((sVar8 + 0xb) - (long)debug_info)" ( (binary_expression "(sVar8 + 0xb) - (long)debug_info" (parenthesized_expression "(sVar8 + 0xb)" ( (binary_expression "sVar8 + 0xb" identifier + number_literal) )) - (cast_expression "(long)debug_info" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ))) ;) (expression_statement "insert_into_vector<16>(destination,VVar3);" (binary_expression "insert_into_vector<16>(destination,VVar3)" (binary_expression "insert_into_vector<16" identifier < number_literal) > (parenthesized_expression "(destination,VVar3)" ( (comma_expression "destination,VVar3" identifier , identifier) ))) ;) (expression_statement "insert_into_vector<64>(destination,0);" (binary_expression "insert_into_vector<64>(destination,0)" (binary_expression "insert_into_vector<64" identifier < number_literal) > (parenthesized_expression "(destination,0)" ( (comma_expression "destination,0" identifier , number_literal) ))) ;) (goto_statement "goto LAB_00254048;" goto statement_identifier ;) })) (expression_statement "pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13);" (assignment_expression "pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13)" identifier = (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13)" identifier (argument_list "("Invalid DIE in debug info; failed to reduce debug info",\n                                      uVar13)" ( (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" " string_content ") , identifier ))))) ;) (expression_statement "psVar12 = local_48;" (assignment_expression "psVar12 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              std::__throw_logic_error("basic_string::_M_construct null not valid");\n            }" { comment (labeled_statement "std::__throw_logic_error("basic_string::_M_construct null not valid");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_logic_error("basic_string::_M_construct null not valid");" (call_expression "__throw_logic_error("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;)) })) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "__dnew = sVar11;" (assignment_expression "__dnew = sVar11" identifier = identifier) ;) (if_statement "if (sVar11 < 0x10) {\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }\n            else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }" if (parenthesized_expression "(sVar11 < 0x10)" ( (binary_expression "sVar11 < 0x10" identifier < number_literal) )) (compound_statement "{\n              if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;\n            }" { (if_statement "if (sVar11 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }\n              else if (sVar11 != 0) goto LAB_00254580;" if (parenthesized_expression "(sVar11 == 1)" ( (binary_expression "sVar11 == 1" identifier == number_literal) )) (compound_statement "{\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n              }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar10)" identifier (argument_list "(local_48[0]._1_7_,*pcVar10)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar10" * identifier) )))) ;) }) (else_clause "else if (sVar11 != 0) goto LAB_00254580;" else (if_statement "if (sVar11 != 0) goto LAB_00254580;" if (parenthesized_expression "(sVar11 != 0)" ( (binary_expression "sVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00254580;" goto statement_identifier ;)))) }) (else_clause "else {\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }" else (compound_statement "{\n              psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n              local_48[0] = __dnew;\n              local_58 = psVar12;\nLAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);\n              psVar12 = local_58;\n            }" { (ERROR "psVar12 = (size_type *)std::" (assignment_expression "psVar12 = (size_type *)std" identifier = (cast_expression "(size_type *)std" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "string::_M_create((string *)&local_58,&__dnew,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_create((string *)&local_58,&__dnew,0);" (call_expression "_M_create((string *)&local_58,&__dnew,0)" identifier (argument_list "((string *)&local_58,&__dnew,0)" ( (cast_expression "(string *)&local_58" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)) , (pointer_expression "&__dnew" & identifier) , number_literal ))) ;)) (expression_statement "local_48[0] = __dnew;" (assignment_expression "local_48[0] = __dnew" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (labeled_statement "LAB_00254580:\n              memcpy(psVar12,pcVar10,sVar11);" statement_identifier : (expression_statement "memcpy(psVar12,pcVar10,sVar11);" (call_expression "memcpy(psVar12,pcVar10,sVar11)" identifier (argument_list "(psVar12,pcVar10,sVar11)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar12 = local_58;" (assignment_expression "psVar12 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar12 + __dnew) = 0;" (assignment_expression "*(undefined1 *)((long)psVar12 + __dnew) = 0" (pointer_expression "*(undefined1 *)((long)psVar12 + __dnew)" * (cast_expression "(undefined1 *)((long)psVar12 + __dnew)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar12 + __dnew)" ( (binary_expression "(long)psVar12 + __dnew" (cast_expression "(long)psVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = __dnew;" (assignment_expression "local_50 = __dnew" identifier = identifier) ;) comment (expression_statement "gold_warning("%s",local_58);" (call_expression "gold_warning("%s",local_58)" identifier (argument_list "("%s",local_58)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   );" (assignment_expression "pcVar10 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   )" identifier = (cast_expression "(char *)gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   )" identifier (argument_list "(\n                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                   )" ( (string_literal ""Debug info extends beyond .debug_info section;failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar12 = local_48;" (assignment_expression "psVar12 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            std::__throw_logic_error("basic_string::_M_construct null not valid");\n          }" { comment (labeled_statement "std::__throw_logic_error("basic_string::_M_construct null not valid");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_logic_error("basic_string::_M_construct null not valid");" (call_expression "__throw_logic_error("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;)) })) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "__dnew = sVar11;" (assignment_expression "__dnew = sVar11" identifier = identifier) ;) (if_statement "if (sVar11 < 0x10) {\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }\n          else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }" if (parenthesized_expression "(sVar11 < 0x10)" ( (binary_expression "sVar11 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;\n          }" { (if_statement "if (sVar11 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }\n            else if (sVar11 != 0) goto LAB_0025455b;" if (parenthesized_expression "(sVar11 == 1)" ( (binary_expression "sVar11 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar10)" identifier (argument_list "(local_48[0]._1_7_,*pcVar10)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar10" * identifier) )))) ;) }) (else_clause "else if (sVar11 != 0) goto LAB_0025455b;" else (if_statement "if (sVar11 != 0) goto LAB_0025455b;" if (parenthesized_expression "(sVar11 != 0)" ( (binary_expression "sVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025455b;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }" else (compound_statement "{\n            psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n            local_48[0] = __dnew;\n            local_58 = psVar12;\nLAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);\n            psVar12 = local_58;\n          }" { (ERROR "psVar12 = (size_type *)std::" (assignment_expression "psVar12 = (size_type *)std" identifier = (cast_expression "(size_type *)std" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "string::_M_create((string *)&local_58,&__dnew,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_create((string *)&local_58,&__dnew,0);" (call_expression "_M_create((string *)&local_58,&__dnew,0)" identifier (argument_list "((string *)&local_58,&__dnew,0)" ( (cast_expression "(string *)&local_58" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)) , (pointer_expression "&__dnew" & identifier) , number_literal ))) ;)) (expression_statement "local_48[0] = __dnew;" (assignment_expression "local_48[0] = __dnew" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (labeled_statement "LAB_0025455b:\n            memcpy(psVar12,pcVar10,sVar11);" statement_identifier : (expression_statement "memcpy(psVar12,pcVar10,sVar11);" (call_expression "memcpy(psVar12,pcVar10,sVar11)" identifier (argument_list "(psVar12,pcVar10,sVar11)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar12 = local_58;" (assignment_expression "psVar12 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar12 + __dnew) = 0;" (assignment_expression "*(undefined1 *)((long)psVar12 + __dnew) = 0" (pointer_expression "*(undefined1 *)((long)psVar12 + __dnew)" * (cast_expression "(undefined1 *)((long)psVar12 + __dnew)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar12 + __dnew)" ( (binary_expression "(long)psVar12 + __dnew" (cast_expression "(long)psVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = __dnew;" (assignment_expression "local_50 = __dnew" identifier = identifier) ;) comment (expression_statement "gold_warning("%s",local_58);" (call_expression "gold_warning("%s",local_58)" identifier (argument_list "("%s",local_58)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 );" (assignment_expression "pcVar10 = (char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 )" identifier = (cast_expression "(char *)gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 )" identifier (argument_list "(\n                                 "Extremely large compile unit in debug info; failed to reduce debug info"\n                                 )" ( (string_literal ""Extremely large compile unit in debug info; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar12 = local_48;" (assignment_expression "psVar12 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }" { comment (labeled_statement "std::__throw_logic_error("basic_string::_M_construct null not valid");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_logic_error("basic_string::_M_construct null not valid");" (call_expression "__throw_logic_error("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;)) })) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "__dnew = sVar11;" (assignment_expression "__dnew = sVar11" identifier = identifier) ;) (if_statement "if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" if (parenthesized_expression "(sVar11 < 0x10)" ( (binary_expression "sVar11 < 0x10" identifier < number_literal) )) (compound_statement "{\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;\n        }" { (if_statement "if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002545e6;" if (parenthesized_expression "(sVar11 == 1)" ( (binary_expression "sVar11 == 1" identifier == number_literal) )) (compound_statement "{\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar10)" identifier (argument_list "(local_48[0]._1_7_,*pcVar10)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar10" * identifier) )))) ;) }) (else_clause "else if (sVar11 != 0) goto LAB_002545e6;" else (if_statement "if (sVar11 != 0) goto LAB_002545e6;" if (parenthesized_expression "(sVar11 != 0)" ( (binary_expression "sVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002545e6;" goto statement_identifier ;)))) }) (else_clause "else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" else (compound_statement "{\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" { (ERROR "psVar12 = (size_type *)std::" (assignment_expression "psVar12 = (size_type *)std" identifier = (cast_expression "(size_type *)std" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "string::_M_create((string *)&local_58,&__dnew,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_create((string *)&local_58,&__dnew,0);" (call_expression "_M_create((string *)&local_58,&__dnew,0)" identifier (argument_list "((string *)&local_58,&__dnew,0)" ( (cast_expression "(string *)&local_58" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)) , (pointer_expression "&__dnew" & identifier) , number_literal ))) ;)) (expression_statement "local_48[0] = __dnew;" (assignment_expression "local_48[0] = __dnew" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (labeled_statement "LAB_002545e6:\n          memcpy(psVar12,pcVar10,sVar11);" statement_identifier : (expression_statement "memcpy(psVar12,pcVar10,sVar11);" (call_expression "memcpy(psVar12,pcVar10,sVar11)" identifier (argument_list "(psVar12,pcVar10,sVar11)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar12 = local_58;" (assignment_expression "psVar12 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar12 + __dnew) = 0;" (assignment_expression "*(undefined1 *)((long)psVar12 + __dnew) = 0" (pointer_expression "*(undefined1 *)((long)psVar12 + __dnew)" * (cast_expression "(undefined1 *)((long)psVar12 + __dnew)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar12 + __dnew)" ( (binary_expression "(long)psVar12 + __dnew" (cast_expression "(long)psVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = __dnew;" (assignment_expression "local_50 = __dnew" identifier = identifier) ;) comment (expression_statement "gold_warning("%s",local_58);" (call_expression "gold_warning("%s",local_58)" identifier (argument_list "("%s",local_58)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (if_statement "if (buffer_end <= debug_info + 7) {\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }" if (parenthesized_expression "(buffer_end <= debug_info + 7)" ( (binary_expression "buffer_end <= debug_info + 7" identifier <= (binary_expression "debug_info + 7" identifier + number_literal)) )) (compound_statement "{\n        pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */\n        gold_warning("%s",local_58);\nLAB_002542af:\n        this->failed_ = true;\n        if (local_58 == local_48) {\n          return;\n        }\n        operator_delete(local_58);\n        return;\n      }" { (expression_statement "pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 );" (assignment_expression "pcVar10 = (char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 )" identifier = (cast_expression "(char *)gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 )" identifier (argument_list "(\n                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                 )" ( (string_literal ""Debug info extends beyond .debug_info section; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar12 = local_48;" (assignment_expression "psVar12 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }" { comment (labeled_statement "std::__throw_logic_error("basic_string::_M_construct null not valid");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_logic_error("basic_string::_M_construct null not valid");" (call_expression "__throw_logic_error("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;)) })) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "__dnew = sVar11;" (assignment_expression "__dnew = sVar11" identifier = identifier) ;) (if_statement "if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" if (parenthesized_expression "(sVar11 < 0x10)" ( (binary_expression "sVar11 < 0x10" identifier < number_literal) )) (compound_statement "{\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;\n        }" { (if_statement "if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_0025437e;" if (parenthesized_expression "(sVar11 == 1)" ( (binary_expression "sVar11 == 1" identifier == number_literal) )) (compound_statement "{\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar10)" identifier (argument_list "(local_48[0]._1_7_,*pcVar10)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar10" * identifier) )))) ;) }) (else_clause "else if (sVar11 != 0) goto LAB_0025437e;" else (if_statement "if (sVar11 != 0) goto LAB_0025437e;" if (parenthesized_expression "(sVar11 != 0)" ( (binary_expression "sVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025437e;" goto statement_identifier ;)))) }) (else_clause "else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" else (compound_statement "{\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" { (ERROR "psVar12 = (size_type *)std::" (assignment_expression "psVar12 = (size_type *)std" identifier = (cast_expression "(size_type *)std" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "string::_M_create((string *)&local_58,&__dnew,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_create((string *)&local_58,&__dnew,0);" (call_expression "_M_create((string *)&local_58,&__dnew,0)" identifier (argument_list "((string *)&local_58,&__dnew,0)" ( (cast_expression "(string *)&local_58" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)) , (pointer_expression "&__dnew" & identifier) , number_literal ))) ;)) (expression_statement "local_48[0] = __dnew;" (assignment_expression "local_48[0] = __dnew" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (labeled_statement "LAB_0025437e:\n          memcpy(psVar12,pcVar10,sVar11);" statement_identifier : (expression_statement "memcpy(psVar12,pcVar10,sVar11);" (call_expression "memcpy(psVar12,pcVar10,sVar11)" identifier (argument_list "(psVar12,pcVar10,sVar11)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar12 = local_58;" (assignment_expression "psVar12 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar12 + __dnew) = 0;" (assignment_expression "*(undefined1 *)((long)psVar12 + __dnew) = 0" (pointer_expression "*(undefined1 *)((long)psVar12 + __dnew)" * (cast_expression "(undefined1 *)((long)psVar12 + __dnew)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar12 + __dnew)" ( (binary_expression "(long)psVar12 + __dnew" (cast_expression "(long)psVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = __dnew;" (assignment_expression "local_50 = __dnew" identifier = identifier) ;) comment (expression_statement "gold_warning("%s",local_58);" (call_expression "gold_warning("%s",local_58)" identifier (argument_list "("%s",local_58)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (labeled_statement "LAB_002542af:\n        this->failed_ = true;" statement_identifier : (expression_statement "this->failed_ = true;" (assignment_expression "this->failed_ = true" (field_expression "this->failed_" identifier -> field_identifier) = true) ;)) (if_statement "if (local_58 == local_48) {\n          return;\n        }" if (parenthesized_expression "(local_58 == local_48)" ( (binary_expression "local_58 == local_48" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "operator_delete(local_58);" (call_expression "operator_delete(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar6 = debug_info + VVar4;" (assignment_expression "puVar6 = debug_info + VVar4" identifier = (binary_expression "debug_info + VVar4" identifier + identifier)) ;) (expression_statement "VVar3 = read_from_pointer<16>(&debug_info);" (assignment_expression "VVar3 = read_from_pointer<16>(&debug_info)" identifier = (binary_expression "read_from_pointer<16>(&debug_info)" (binary_expression "read_from_pointer<16" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "VVar4 = read_from_pointer<32>(&debug_info);" (assignment_expression "VVar4 = read_from_pointer<32>(&debug_info)" identifier = (binary_expression "read_from_pointer<32>(&debug_info)" (binary_expression "read_from_pointer<32" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "value = read_from_pointer<8>(&debug_info);" (assignment_expression "value = read_from_pointer<8>(&debug_info)" identifier = (binary_expression "read_from_pointer<8>(&debug_info)" (binary_expression "read_from_pointer<8" identifier < number_literal) > (parenthesized_expression "(&debug_info)" ( (pointer_expression "&debug_info" & identifier) )))) ;) (expression_statement "puVar7 = debug_info + 1;" (assignment_expression "puVar7 = debug_info + 1" identifier = (binary_expression "debug_info + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *debug_info;" (assignment_expression "bVar1 = *debug_info" identifier = (pointer_expression "*debug_info" * identifier)) ;) (expression_statement "uVar9 = (ulong)bVar1;" (assignment_expression "uVar9 = (ulong)bVar1" identifier = (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }\n      else {\n        LEB_size = 1;\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        uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);\n        puVar7 = debug_info + LEB_size;\n      }" { (expression_statement "uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1);" (assignment_expression "uVar9 = read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1)" identifier = (call_expression "read_unsigned_LEB_128_x(puVar7,&LEB_size,bVar1)" identifier (argument_list "(puVar7,&LEB_size,bVar1)" ( identifier , (pointer_expression "&LEB_size" & identifier) , identifier )))) ;) (expression_statement "puVar7 = debug_info + LEB_size;" (assignment_expression "puVar7 = debug_info + LEB_size" identifier = (binary_expression "debug_info + LEB_size" identifier + identifier)) ;) }) (else_clause "else {\n        LEB_size = 1;\n      }" else (compound_statement "{\n        LEB_size = 1;\n      }" { (expression_statement "LEB_size = 1;" (assignment_expression "LEB_size = 1" identifier = number_literal) ;) }))) (expression_statement "debug_info = puVar7;" (assignment_expression "debug_info = puVar7" identifier = identifier) ;) (expression_statement "abbreviation_number = uVar9;" (assignment_expression "abbreviation_number = uVar9" identifier = identifier) ;) (ERROR "puVar7 = Output_reduced_debug_abbrev_section::" (assignment_expression "puVar7 = Output_reduced_debug_abbrev_section" identifier = identifier) : :) (expression_statement "get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4);" (call_expression "get_new_abbrev\n                         (this->associated_abbrev_,&abbreviation_number,(ulong)VVar4)" identifier (argument_list "(this->associated_abbrev_,&abbreviation_number,(ulong)VVar4)" ( (field_expression "this->associated_abbrev_" identifier -> field_identifier) , (pointer_expression "&abbreviation_number" & identifier) , (cast_expression "(ulong)VVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false);" (assignment_expression "bVar2 = get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false)" identifier = (call_expression "get_die_end(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false)" identifier (argument_list "(this,debug_info,puVar7,&die_end,buffer_end,(uint)value,false)" ( identifier , identifier , identifier , (pointer_expression "&die_end" & identifier) , identifier , (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) , false )))) ;) (expression_statement "puVar7 = die_end;" (assignment_expression "puVar7 = die_end" identifier = identifier) ;) (if_statement "if (!bVar2) {\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n        pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n        psVar12 = local_48;\n        local_58 = psVar12;\n        if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }\n        sVar11 = strlen(pcVar10);\n        __dnew = sVar11;\n        if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }\n        *(undefined1 *)((long)psVar12 + __dnew) = 0;\n        local_50 = __dnew;\n                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */\n        gold_warning("%s",local_58);\n        goto LAB_002542af;\n      }" { (expression_statement "pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");" (assignment_expression "pcVar10 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" identifier = (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info")" identifier (argument_list "("Invalid DIE in debug info; failed to reduce debug info")" ( (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar12 = local_48;" (assignment_expression "psVar12 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          std::__throw_logic_error("basic_string::_M_construct null not valid");\n        }" { comment (labeled_statement "std::__throw_logic_error("basic_string::_M_construct null not valid");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_logic_error("basic_string::_M_construct null not valid");" (call_expression "__throw_logic_error("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;)) })) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "__dnew = sVar11;" (assignment_expression "__dnew = sVar11" identifier = identifier) ;) (if_statement "if (sVar11 < 0x10) {\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }\n        else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" if (parenthesized_expression "(sVar11 < 0x10)" ( (binary_expression "sVar11 < 0x10" identifier < number_literal) )) (compound_statement "{\n          if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;\n        }" { (if_statement "if (sVar11 == 1) {\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }\n          else if (sVar11 != 0) goto LAB_002543c6;" if (parenthesized_expression "(sVar11 == 1)" ( (binary_expression "sVar11 == 1" identifier == number_literal) )) (compound_statement "{\n            local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);\n          }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar10)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar10)" identifier (argument_list "(local_48[0]._1_7_,*pcVar10)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar10" * identifier) )))) ;) }) (else_clause "else if (sVar11 != 0) goto LAB_002543c6;" else (if_statement "if (sVar11 != 0) goto LAB_002543c6;" if (parenthesized_expression "(sVar11 != 0)" ( (binary_expression "sVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002543c6;" goto statement_identifier ;)))) }) (else_clause "else {\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" else (compound_statement "{\n          psVar12 = (size_type *)std::string::_M_create((string *)&local_58,&__dnew,0);\n          local_48[0] = __dnew;\n          local_58 = psVar12;\nLAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);\n          psVar12 = local_58;\n        }" { (ERROR "psVar12 = (size_type *)std::" (assignment_expression "psVar12 = (size_type *)std" identifier = (cast_expression "(size_type *)std" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "string::_M_create((string *)&local_58,&__dnew,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_create((string *)&local_58,&__dnew,0);" (call_expression "_M_create((string *)&local_58,&__dnew,0)" identifier (argument_list "((string *)&local_58,&__dnew,0)" ( (cast_expression "(string *)&local_58" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier)) , (pointer_expression "&__dnew" & identifier) , number_literal ))) ;)) (expression_statement "local_48[0] = __dnew;" (assignment_expression "local_48[0] = __dnew" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar12;" (assignment_expression "local_58 = psVar12" identifier = identifier) ;) (labeled_statement "LAB_002543c6:\n          memcpy(psVar12,pcVar10,sVar11);" statement_identifier : (expression_statement "memcpy(psVar12,pcVar10,sVar11);" (call_expression "memcpy(psVar12,pcVar10,sVar11)" identifier (argument_list "(psVar12,pcVar10,sVar11)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar12 = local_58;" (assignment_expression "psVar12 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar12 + __dnew) = 0;" (assignment_expression "*(undefined1 *)((long)psVar12 + __dnew) = 0" (pointer_expression "*(undefined1 *)((long)psVar12 + __dnew)" * (cast_expression "(undefined1 *)((long)psVar12 + __dnew)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar12 + __dnew)" ( (binary_expression "(long)psVar12 + __dnew" (cast_expression "(long)psVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = __dnew;" (assignment_expression "local_50 = __dnew" identifier = identifier) ;) comment (expression_statement "gold_warning("%s",local_58);" (call_expression "gold_warning("%s",local_58)" identifier (argument_list "("%s",local_58)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number);" (assignment_expression "sVar8 = get_length_as_unsigned_LEB_128(abbreviation_number)" identifier = (call_expression "get_length_as_unsigned_LEB_128(abbreviation_number)" identifier (argument_list "(abbreviation_number)" ( identifier )))) ;) (expression_statement "insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info);" (binary_expression "insert_into_vector<32>(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info)" (binary_expression "insert_into_vector<32" identifier < number_literal) > (parenthesized_expression "(destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info)" ( (comma_expression "destination,((int)puVar7 + 7 + (int)sVar8) - (int)debug_info" identifier , (binary_expression "((int)puVar7 + 7 + (int)sVar8) - (int)debug_info" (parenthesized_expression "((int)puVar7 + 7 + (int)sVar8)" ( (binary_expression "(int)puVar7 + 7 + (int)sVar8" (binary_expression "(int)puVar7 + 7" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)sVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (cast_expression "(int)debug_info" ( (type_descriptor "int" primitive_type) ) identifier))) ))) ;) (expression_statement "insert_into_vector<16>(destination,VVar3);" (binary_expression "insert_into_vector<16>(destination,VVar3)" (binary_expression "insert_into_vector<16" identifier < number_literal) > (parenthesized_expression "(destination,VVar3)" ( (comma_expression "destination,VVar3" identifier , identifier) ))) ;) (expression_statement "insert_into_vector<32>(destination,0);" (binary_expression "insert_into_vector<32>(destination,0)" (binary_expression "insert_into_vector<32" identifier < number_literal) > (parenthesized_expression "(destination,0)" ( (comma_expression "destination,0" identifier , number_literal) ))) ;) (labeled_statement "LAB_00254048:\n      insert_into_vector<8>(destination,value);" statement_identifier : (expression_statement "insert_into_vector<8>(destination,value);" (binary_expression "insert_into_vector<8>(destination,value)" (binary_expression "insert_into_vector<8" identifier < number_literal) > (parenthesized_expression "(destination,value)" ( (comma_expression "destination,value" identifier , identifier) ))) ;)) (expression_statement "write_unsigned_LEB_128(destination,abbreviation_number);" (call_expression "write_unsigned_LEB_128(destination,abbreviation_number)" identifier (argument_list "(destination,abbreviation_number)" ( identifier , identifier ))) ;) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end);" (binary_expression "_M_range_insert<unsigned_char*>\n                (destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end)" (binary_expression "_M_range_insert<unsigned_char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end)" ( (ERROR "destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std::" (comma_expression "destination,\n                 (this->data_).super__Vector_base<unsigned_char,_std" identifier , (comma_expression "(this->data_).super__Vector_base<unsigned_char,_std" (binary_expression "(this->data_).super__Vector_base<unsigned_char" (field_expression "(this->data_).super__Vector_base" (parenthesized_expression "(this->data_)" ( (field_expression "this->data_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier)) : :) (comma_expression "allocator<unsigned_char>_>.\n                 _M_impl._M_finish,debug_info,die_end" (field_expression "allocator<unsigned_char>_>.\n                 _M_impl._M_finish" (field_expression "allocator<unsigned_char>_>.\n                 _M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (comma_expression "debug_info,die_end" identifier , identifier)) ))) ;)) (expression_statement "debug_info = puVar6;" (assignment_expression "debug_info = puVar6" identifier = identifier) ;) }) while (parenthesized_expression "(puVar6 < buffer_end)" ( (binary_expression "puVar6 < buffer_end" identifier < identifier) )) ;) })) (expression_statement "bVar1 = (this->super_Output_section).super_Output_data.field_0x20;" (assignment_expression "bVar1 = (this->super_Output_section).super_Output_data.field_0x20" identifier = (field_expression "(this->super_Output_section).super_Output_data.field_0x20" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (((bVar1 & 2) == 0) && ((bVar1 & 8) == 0)) {\n    (this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_start;\n    (this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;\n    return;\n  }" if (parenthesized_expression "(((bVar1 & 2) == 0) && ((bVar1 & 8) == 0))" ( (binary_expression "((bVar1 & 2) == 0) && ((bVar1 & 8) == 0)" (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((bVar1 & 8) == 0)" ( (binary_expression "(bVar1 & 8) == 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    (this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_start;\n    (this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;\n    return;\n  }" { (ERROR "(this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std::" (comma_expression "(this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char,_std" (assignment_expression "(this->super_Output_section).super_Output_data.data_size_ =\n         (long)(this->data_).super__Vector_base<unsigned_char" (field_expression "(this->super_Output_section).super_Output_data.data_size_" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(long)(this->data_).super__Vector_base<unsigned_char" (cast_expression "(long)(this->data_).super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this->data_).super__Vector_base" (parenthesized_expression "(this->data_)" ( (field_expression "this->data_" identifier -> field_identifier) )) . field_identifier)) < identifier)) , identifier) : : (comma_expression "allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char,_std" (binary_expression "allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base<unsigned_char" (binary_expression "allocator<unsigned_char>_>.\n               _M_impl._M_finish -\n         (long)(this->data_).super__Vector_base" (field_expression "allocator<unsigned_char>_>.\n               _M_impl._M_finish" (field_expression "allocator<unsigned_char>_>.\n               _M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)(this->data_).super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this->data_).super__Vector_base" (parenthesized_expression "(this->data_)" ( (field_expression "this->data_" identifier -> field_identifier) )) . field_identifier))) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>.\n               _M_impl._M_start;" (field_expression "allocator<unsigned_char>_>.\n               _M_impl._M_start" (field_expression "allocator<unsigned_char>_>.\n               _M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "(this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2;" (assignment_expression "(this->super_Output_section).super_Output_data.field_0x20 = bVar1 | 2" (field_expression "(this->super_Output_section).super_Output_data.field_0x20" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "bVar1 | 2" identifier | number_literal)) ;) (return_statement "return;" return ;) })) comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0x218,"set_data_size")" identifier (argument_list "("../../gold/output.h",0x218,"set_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_data_size"" " string_content ") ))) ;) })))
(translation_unit "void FUN_00253ee0(long param_1)\n\n{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    \n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}\n\n" (function_definition "void FUN_00253ee0(long param_1)\n\n{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    \n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}" primitive_type (function_declarator "FUN_00253ee0(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    \n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "undefined2 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "size_t *psVar17;" primitive_type (pointer_declarator "*psVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t local_60;" primitive_type identifier ;) (declaration "size_t *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "size_t local_50;" primitive_type identifier ;) (declaration "size_t local_48 [3];" primitive_type (array_declarator "local_48 [3]" identifier [ number_literal ]) ;) (if_statement "if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x168) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x168) != '\0'" (pointer_expression "*(char *)(param_1 + 0x168)" * (cast_expression "(char *)(param_1 + 0x168)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pbVar18 = *(byte **)(param_1 + 0xc0);" (assignment_expression "pbVar18 = *(byte **)(param_1 + 0xc0)" identifier = (pointer_expression "*(byte **)(param_1 + 0xc0)" * (cast_expression "(byte **)(param_1 + 0xc0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) (if_statement "if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" if (parenthesized_expression "(pbVar18 == (byte *)0x0)" ( (binary_expression "pbVar18 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00253490();\n  }" { (expression_statement "FUN_00253490();" (call_expression "FUN_00253490()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" else (compound_statement "{\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" { (expression_statement "pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);" (assignment_expression "pbVar9 = pbVar18 + *(long *)(param_1 + 0x10)" identifier = (binary_expression "pbVar18 + *(long *)(param_1 + 0x10)" identifier + (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" identifier = identifier) ;) (expression_statement "FUN_0020a4b0();" (call_expression "FUN_0020a4b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }" if (parenthesized_expression "(local_80 < pbVar9)" ( (binary_expression "local_80 < pbVar9" identifier < identifier) )) (compound_statement "{\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }" { (expression_statement "lVar1 = param_1 + 0x148;" (assignment_expression "lVar1 = param_1 + 0x148" identifier = (binary_expression "param_1 + 0x148" identifier + number_literal)) ;) (do_statement "do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);" do (compound_statement "{\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      }" { (expression_statement "uVar7 = FUN_00254770(&local_80);" (assignment_expression "uVar7 = FUN_00254770(&local_80)" identifier = (call_expression "FUN_00254770(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (if_statement "if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" { (expression_statement "iVar8 = FUN_00254770(&local_80);" (assignment_expression "iVar8 = FUN_00254770(&local_80)" identifier = (call_expression "FUN_00254770(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }" { (if_statement "if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }" if (parenthesized_expression "(local_80 + 0x13 < pbVar9)" ( (binary_expression "local_80 + 0x13 < pbVar9" (binary_expression "local_80 + 0x13" identifier + number_literal) < identifier) )) (compound_statement "{\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }" { (expression_statement "lVar10 = FUN_002547c0(&local_80);" (assignment_expression "lVar10 = FUN_002547c0(&local_80)" identifier = (call_expression "FUN_002547c0(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "pbVar11 = local_80 + lVar10;" (assignment_expression "pbVar11 = local_80 + lVar10" identifier = (binary_expression "local_80 + lVar10" identifier + identifier)) ;) (expression_statement "uVar5 = FUN_00254700(&local_80);" (assignment_expression "uVar5 = FUN_00254700(&local_80)" identifier = (call_expression "FUN_00254700(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar12 = FUN_002547c0(&local_80);" (assignment_expression "uVar12 = FUN_002547c0(&local_80)" identifier = (call_expression "FUN_002547c0(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar3 = FUN_00254810(&local_80);" (assignment_expression "uVar3 = FUN_00254810(&local_80)" identifier = (call_expression "FUN_00254810(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "pbVar18 = local_80 + 1;" (assignment_expression "pbVar18 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *local_80;" (assignment_expression "bVar2 = *local_80" identifier = (pointer_expression "*local_80" * identifier)) ;) (expression_statement "uVar14 = (ulong)bVar2;" (assignment_expression "uVar14 = (ulong)bVar2" identifier = (cast_expression "(ulong)bVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\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                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }" { (expression_statement "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);" (assignment_expression "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier = (call_expression "FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier (argument_list "(pbVar18,&local_78,bVar2)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier )))) ;) (expression_statement "pbVar18 = local_80 + local_78;" (assignment_expression "pbVar18 = local_80 + local_78" identifier = (binary_expression "local_80 + local_78" identifier + identifier)) ;) }) (else_clause "else {\n                local_78 = 1;\n              }" else (compound_statement "{\n                local_78 = 1;\n              }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) }))) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" identifier = identifier) ;) (expression_statement "local_70 = uVar14;" (assignment_expression "local_70 = uVar14" identifier = identifier) ;) (expression_statement "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);" (assignment_expression "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" identifier = (call_expression "FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x160)" * (cast_expression "(undefined8 *)(param_1 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) , (pointer_expression "&local_70" & identifier) , identifier )))) ;) (expression_statement "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);" (assignment_expression "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier = (call_expression "FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier (argument_list "(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" ( identifier , identifier , identifier , (pointer_expression "&local_68" & identifier) , identifier , identifier )))) ;) (if_statement "if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }" { (expression_statement "FUN_00254c70(lVar1,0xffffffff);" (call_expression "FUN_00254c70(lVar1,0xffffffff)" identifier (argument_list "(lVar1,0xffffffff)" ( identifier , number_literal ))) ;) (expression_statement "FUN_00254c70(lVar1,0);" (call_expression "FUN_00254c70(lVar1,0)" identifier (argument_list "(lVar1,0)" ( identifier , number_literal ))) ;) (expression_statement "lVar10 = local_68;" (assignment_expression "lVar10 = local_68" identifier = identifier) ;) (expression_statement "lVar13 = FUN_002cefd0(local_70);" (assignment_expression "lVar13 = FUN_002cefd0(local_70)" identifier = (call_expression "FUN_002cefd0(local_70)" identifier (argument_list "(local_70)" ( identifier )))) ;) (expression_statement "FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);" (call_expression "FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80)" identifier (argument_list "(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80)" ( identifier , (binary_expression "(lVar10 + 0xb + lVar13) - (long)local_80" (parenthesized_expression "(lVar10 + 0xb + lVar13)" ( (binary_expression "lVar10 + 0xb + lVar13" (binary_expression "lVar10 + 0xb" identifier + number_literal) + identifier) )) - (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "FUN_00254c00(lVar1,uVar5);" (call_expression "FUN_00254c00(lVar1,uVar5)" identifier (argument_list "(lVar1,uVar5)" ( identifier , identifier ))) ;) (expression_statement "FUN_00254b90(lVar1,0);" (call_expression "FUN_00254b90(lVar1,0)" identifier (argument_list "(lVar1,0)" ( identifier , number_literal ))) ;) (goto_statement "goto LAB_00254048;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);" (assignment_expression "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1)" identifier = (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info",1)" identifier (argument_list "("Invalid DIE in debug info; failed to reduce debug info",1)" ( (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" " string_content ") , number_literal ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }" { (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }" { (if_statement "if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_00254580;" else (if_statement "if (sVar16 != 0) goto LAB_00254580;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00254580;" goto statement_identifier ;)))) }) (else_clause "else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" else (compound_statement "{\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );" (assignment_expression "pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" identifier = (cast_expression "(char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" identifier (argument_list "(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" ( (string_literal ""Debug info extends beyond .debug_info section;failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }" { (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }" { (if_statement "if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_0025455b;" else (if_statement "if (sVar16 != 0) goto LAB_0025455b;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025455b;" goto statement_identifier ;)))) }) (else_clause "else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" else (compound_statement "{\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );" (assignment_expression "pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" identifier = (cast_expression "(char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" identifier (argument_list "(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" ( (string_literal ""Extremely large compile unit in debug info; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" { (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }" { (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_002545e6;" else (if_statement "if (sVar16 != 0) goto LAB_002545e6;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002545e6;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" else (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (if_statement "if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }" if (parenthesized_expression "(pbVar9 <= local_80 + 7)" ( (binary_expression "pbVar9 <= local_80 + 7" identifier <= (binary_expression "local_80 + 7" identifier + number_literal)) )) (compound_statement "{\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }" { (expression_statement "pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );" (assignment_expression "pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" identifier = (cast_expression "(char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" identifier (argument_list "(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" ( (string_literal ""Debug info extends beyond .debug_info section; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" { (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }" { (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_0025437e;" else (if_statement "if (sVar16 != 0) goto LAB_0025437e;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025437e;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" else (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (labeled_statement "LAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x168) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x168) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x168)" * (cast_expression "(undefined1 *)(param_1 + 0x168)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if (local_58 == local_48) {\n            return;\n          }" if (parenthesized_expression "(local_58 == local_48)" ( (binary_expression "local_58 == local_48" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "FUN_002eff50();" (call_expression "FUN_002eff50()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "pbVar11 = local_80 + uVar7;" (assignment_expression "pbVar11 = local_80 + uVar7" identifier = (binary_expression "local_80 + uVar7" identifier + identifier)) ;) (expression_statement "uVar5 = FUN_00254700(&local_80);" (assignment_expression "uVar5 = FUN_00254700(&local_80)" identifier = (call_expression "FUN_00254700(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar6 = FUN_00254770(&local_80);" (assignment_expression "uVar6 = FUN_00254770(&local_80)" identifier = (call_expression "FUN_00254770(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "uVar3 = FUN_00254810(&local_80);" (assignment_expression "uVar3 = FUN_00254810(&local_80)" identifier = (call_expression "FUN_00254810(&local_80)" identifier (argument_list "(&local_80)" ( (pointer_expression "&local_80" & identifier) )))) ;) (expression_statement "pbVar18 = local_80 + 1;" (assignment_expression "pbVar18 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *local_80;" (assignment_expression "bVar2 = *local_80" identifier = (pointer_expression "*local_80" * identifier)) ;) (expression_statement "uVar14 = (ulong)bVar2;" (assignment_expression "uVar14 = (ulong)bVar2" identifier = (cast_expression "(ulong)bVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\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          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }" { (expression_statement "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);" (assignment_expression "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier = (call_expression "FUN_002cedc0(pbVar18,&local_78,bVar2)" identifier (argument_list "(pbVar18,&local_78,bVar2)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier )))) ;) (expression_statement "pbVar18 = local_80 + local_78;" (assignment_expression "pbVar18 = local_80 + local_78" identifier = (binary_expression "local_80 + local_78" identifier + identifier)) ;) }) (else_clause "else {\n          local_78 = 1;\n        }" else (compound_statement "{\n          local_78 = 1;\n        }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) }))) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" identifier = identifier) ;) (expression_statement "local_70 = uVar14;" (assignment_expression "local_70 = uVar14" identifier = identifier) ;) (expression_statement "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);" (assignment_expression "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" identifier = (call_expression "FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x160)" * (cast_expression "(undefined8 *)(param_1 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) , (pointer_expression "&local_70" & identifier) , identifier )))) ;) (expression_statement "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);" (assignment_expression "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier = (call_expression "FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" identifier (argument_list "(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" ( identifier , identifier , identifier , (pointer_expression "&local_68" & identifier) , identifier , identifier )))) ;) (expression_statement "lVar10 = local_68;" (assignment_expression "lVar10 = local_68" identifier = identifier) ;) (if_statement "if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" { (expression_statement "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");" (assignment_expression "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" identifier = (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info")" identifier (argument_list "("Invalid DIE in debug info; failed to reduce debug info")" ( (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" " string_content ") ))))) ;) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" identifier = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" if (parenthesized_expression "(pcVar15 == (char *)0x0)" ( (binary_expression "pcVar15 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" { (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" identifier (argument_list "("basic_string::_M_construct null not valid")" ( (string_literal ""basic_string::_M_construct null not valid"" " string_content ") ))) ;) })) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" identifier = (call_expression "strlen(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" identifier = identifier) ;) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" if (parenthesized_expression "(sVar16 < 0x10)" ( (binary_expression "sVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }" { (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;" if (parenthesized_expression "(sVar16 == 1)" ( (binary_expression "sVar16 == 1" identifier == number_literal) )) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" { (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" identifier [ number_literal ]) = (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" identifier (argument_list "(local_48[0]._1_7_,*pcVar15)" ( (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" identifier [ number_literal ]) . field_identifier) , (pointer_expression "*pcVar15" * identifier) )))) ;) }) (else_clause "else if (sVar16 != 0) goto LAB_002543c6;" else (if_statement "if (sVar16 != 0) goto LAB_002543c6;" if (parenthesized_expression "(sVar16 != 0)" ( (binary_expression "sVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002543c6;" goto statement_identifier ;)))) }) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" else (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" { (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" identifier = (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f6880(&local_58,&local_60,0)" identifier (argument_list "(&local_58,&local_60,0)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" identifier = identifier) ;) (labeled_statement "LAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);" statement_identifier : (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" identifier (argument_list "(psVar17,pcVar15,sVar16)" ( identifier , identifier , identifier ))) ;)) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" * (cast_expression "(undefined1 *)((long)psVar17 + local_60)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar17 + local_60)" ( (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" identifier (argument_list "(&DAT_0038ec50,local_58)" ( (pointer_expression "&DAT_0038ec50" & identifier) , identifier ))) ;) (goto_statement "goto LAB_002542af;" goto statement_identifier ;) })) (expression_statement "lVar13 = FUN_002cefd0(local_70);" (assignment_expression "lVar13 = FUN_002cefd0(local_70)" identifier = (call_expression "FUN_002cefd0(local_70)" identifier (argument_list "(local_70)" ( identifier )))) ;) (expression_statement "FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);" (call_expression "FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80)" identifier (argument_list "(lVar1,(lVar10 + 7 + lVar13) - (long)local_80)" ( identifier , (binary_expression "(lVar10 + 7 + lVar13) - (long)local_80" (parenthesized_expression "(lVar10 + 7 + lVar13)" ( (binary_expression "lVar10 + 7 + lVar13" (binary_expression "lVar10 + 7" identifier + number_literal) + identifier) )) - (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ;) (expression_statement "FUN_00254c00(lVar1,uVar5);" (call_expression "FUN_00254c00(lVar1,uVar5)" identifier (argument_list "(lVar1,uVar5)" ( identifier , identifier ))) ;) (expression_statement "FUN_00254c70(lVar1,0);" (call_expression "FUN_00254c70(lVar1,0)" identifier (argument_list "(lVar1,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);" statement_identifier : (expression_statement "FUN_00254cd0(lVar1,uVar3);" (call_expression "FUN_00254cd0(lVar1,uVar3)" identifier (argument_list "(lVar1,uVar3)" ( identifier , identifier ))) ;)) (expression_statement "FUN_002ceed0(lVar1,local_70);" (call_expression "FUN_002ceed0(lVar1,local_70)" identifier (argument_list "(lVar1,local_70)" ( identifier , identifier ))) ;) (expression_statement "FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);" (call_expression "FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68)" identifier (argument_list "(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68)" ( identifier , (pointer_expression "*(undefined8 *)(param_1 + 0x150)" * (cast_expression "(undefined8 *)(param_1 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "local_80 = pbVar11;" (assignment_expression "local_80 = pbVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar11 < pbVar9)" ( (binary_expression "pbVar11 < pbVar9" identifier < identifier) )) ;) })) (expression_statement "bVar2 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar2 = *(byte *)(param_1 + 0x20)" identifier = (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }" if (parenthesized_expression "(((bVar2 & 2) == 0) && ((bVar2 & 8) == 0))" ( (binary_expression "((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)" (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((bVar2 & 8) == 0)" ( (binary_expression "(bVar2 & 8) == 0" (parenthesized_expression "(bVar2 & 8)" ( (binary_expression "bVar2 & 8" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }" { (expression_statement "*(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);" (assignment_expression "*(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148)" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "*(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148)" (pointer_expression "*(long *)(param_1 + 0x150)" * (cast_expression "(long *)(param_1 + 0x150)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x148)" * (cast_expression "(long *)(param_1 + 0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x148)" ( (binary_expression "param_1 + 0x148" identifier + number_literal) )))))) ;) (expression_statement "*(byte *)(param_1 + 0x20) = bVar2 | 2;" (assignment_expression "*(byte *)(param_1 + 0x20) = bVar2 | 2" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = (binary_expression "bVar2 | 2" identifier | number_literal)) ;) (return_statement "return;" return ;) })) }))) (expression_statement "FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");" (call_expression "FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size")" identifier (argument_list "("../../gold/output.h",0x218,"set_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_data_size"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) , 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) , (pointer_expression * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) , (pointer_expression * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) , (pointer_expression * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) , (pointer_expression * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) , 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) , (pointer_expression * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) = (binary_expression IDENT | LIT)) ;) (return_statement return ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_00253ee0(long param_1)\n\n{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    \n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}" (primitive_type "void") (function_declarator "FUN_00253ee0(long param_1)" (identifier "FUN_00253ee0") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  long lVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char cVar4;\n  undefined2 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  long lVar10;\n  byte *pbVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  char *pcVar15;\n  size_t sVar16;\n  size_t *psVar17;\n  byte *pbVar18;\n  byte *local_80;\n  long local_78;\n  ulong local_70;\n  long local_68;\n  size_t local_60;\n  size_t *local_58;\n  size_t local_50;\n  size_t local_48 [3];\n  \n  if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }\n  pbVar18 = *(byte **)(param_1 + 0xc0);\n  if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }\n                    \n  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "undefined1 uVar3;" (type_identifier "undefined1") (identifier "uVar3") (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "undefined2 uVar5;" (type_identifier "undefined2") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "long lVar10;" (sized_type_specifier "long" (long "long")) (identifier "lVar10") (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "ulong uVar14;" (type_identifier "ulong") (identifier "uVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "size_t sVar16;" (primitive_type "size_t") (identifier "sVar16") (; ";")) (declaration "size_t *psVar17;" (primitive_type "size_t") (pointer_declarator "*psVar17" (* "*") (identifier "psVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *local_80;" (type_identifier "byte") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "long local_78;" (sized_type_specifier "long" (long "long")) (identifier "local_78") (; ";")) (declaration "ulong local_70;" (type_identifier "ulong") (identifier "local_70") (; ";")) (declaration "long local_68;" (sized_type_specifier "long" (long "long")) (identifier "local_68") (; ";")) (declaration "size_t local_60;" (primitive_type "size_t") (identifier "local_60") (; ";")) (declaration "size_t *local_58;" (primitive_type "size_t") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "size_t local_50;" (primitive_type "size_t") (identifier "local_50") (; ";")) (declaration "size_t local_48 [3];" (primitive_type "size_t") (array_declarator "local_48 [3]" (identifier "local_48") ([ "[") (number_literal "3") (] "]")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x168) != '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x168) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x168) != '\0'" (pointer_expression "*(char *)(param_1 + 0x168)" (* "*") (cast_expression "(char *)(param_1 + 0x168)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pbVar18 = *(byte **)(param_1 + 0xc0);" (assignment_expression "pbVar18 = *(byte **)(param_1 + 0xc0)" (identifier "pbVar18") (= "=") (pointer_expression "*(byte **)(param_1 + 0xc0)" (* "*") (cast_expression "(byte **)(param_1 + 0xc0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (if_statement "if (pbVar18 == (byte *)0x0) {\n    FUN_00253490();\n  }\n  else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(pbVar18 == (byte *)0x0)" (( "(") (binary_expression "pbVar18 == (byte *)0x0" (identifier "pbVar18") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_00253490();\n  }" ({ "{") (expression_statement "FUN_00253490();" (call_expression "FUN_00253490()" (identifier "FUN_00253490") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);\n    local_80 = pbVar18;\n    FUN_0020a4b0();\n    if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }\n    bVar2 = *(byte *)(param_1 + 0x20);\n    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }\n  }" ({ "{") (expression_statement "pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);" (assignment_expression "pbVar9 = pbVar18 + *(long *)(param_1 + 0x10)" (identifier "pbVar9") (= "=") (binary_expression "pbVar18 + *(long *)(param_1 + 0x10)" (identifier "pbVar18") (+ "+") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" (identifier "local_80") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "FUN_0020a4b0();" (call_expression "FUN_0020a4b0()" (identifier "FUN_0020a4b0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_80 < pbVar9) {\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }" (if "if") (parenthesized_expression "(local_80 < pbVar9)" (( "(") (binary_expression "local_80 < pbVar9" (identifier "local_80") (< "<") (identifier "pbVar9")) () ")")) (compound_statement "{\n      lVar1 = param_1 + 0x148;\n      do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);\n    }" ({ "{") (expression_statement "lVar1 = param_1 + 0x148;" (assignment_expression "lVar1 = param_1 + 0x148" (identifier "lVar1") (= "=") (binary_expression "param_1 + 0x148" (identifier "param_1") (+ "+") (number_literal "0x148"))) (; ";")) (do_statement "do {\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      } while (pbVar11 < pbVar9);" (do "do") (compound_statement "{\n        uVar7 = FUN_00254770(&local_80);\n        if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }\n        pbVar11 = local_80 + uVar7;\n        uVar5 = FUN_00254700(&local_80);\n        uVar6 = FUN_00254770(&local_80);\n        uVar3 = FUN_00254810(&local_80);\n        pbVar18 = local_80 + 1;\n        bVar2 = *local_80;\n        uVar14 = (ulong)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }\n        local_80 = pbVar18;\n        local_70 = uVar14;\n        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);\n        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n        lVar10 = local_68;\n        if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }\n        lVar13 = FUN_002cefd0(local_70);\n        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);\n        FUN_00254c00(lVar1,uVar5);\n        FUN_00254c70(lVar1,0);\nLAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);\n        FUN_002ceed0(lVar1,local_70);\n        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);\n        local_80 = pbVar11;\n      }" ({ "{") (expression_statement "uVar7 = FUN_00254770(&local_80);" (assignment_expression "uVar7 = FUN_00254770(&local_80)" (identifier "uVar7") (= "=") (call_expression "FUN_00254770(&local_80)" (identifier "FUN_00254770") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (if_statement "if (uVar7 == 0xffffffff) {\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" (if "if") (parenthesized_expression "(uVar7 == 0xffffffff)" (( "(") (binary_expression "uVar7 == 0xffffffff" (identifier "uVar7") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          iVar8 = FUN_00254770(&local_80);\n          if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }\n          pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" ({ "{") (expression_statement "iVar8 = FUN_00254770(&local_80);" (assignment_expression "iVar8 = FUN_00254770(&local_80)" (identifier "iVar8") (= "=") (call_expression "FUN_00254770(&local_80)" (identifier "FUN_00254770") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }\n            pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );\n            psVar17 = local_48;\n            local_58 = psVar17;\n            if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }\n            sVar16 = strlen(pcVar15);\n            local_60 = sVar16;\n            if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }\n            *(undefined1 *)((long)psVar17 + local_60) = 0;\n            local_50 = local_60;\n                    \n            FUN_00185730(&DAT_0038ec50,local_58);\n            goto LAB_002542af;\n          }" ({ "{") (if_statement "if (local_80 + 0x13 < pbVar9) {\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }" (if "if") (parenthesized_expression "(local_80 + 0x13 < pbVar9)" (( "(") (binary_expression "local_80 + 0x13 < pbVar9" (binary_expression "local_80 + 0x13" (identifier "local_80") (+ "+") (number_literal "0x13")) (< "<") (identifier "pbVar9")) () ")")) (compound_statement "{\n              lVar10 = FUN_002547c0(&local_80);\n              pbVar11 = local_80 + lVar10;\n              uVar5 = FUN_00254700(&local_80);\n              uVar12 = FUN_002547c0(&local_80);\n              uVar3 = FUN_00254810(&local_80);\n              pbVar18 = local_80 + 1;\n              bVar2 = *local_80;\n              uVar14 = (ulong)bVar2;\n              if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }\n              local_80 = pbVar18;\n              local_70 = uVar14;\n              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);\n              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);\n              if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }\n              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);\n              psVar17 = local_48;\n              local_58 = psVar17;\n              if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }\n              sVar16 = strlen(pcVar15);\n              local_60 = sVar16;\n              if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }\n              *(undefined1 *)((long)psVar17 + local_60) = 0;\n              local_50 = local_60;\n                    \n              FUN_00185730(&DAT_0038ec50,local_58);\n              goto LAB_002542af;\n            }" ({ "{") (expression_statement "lVar10 = FUN_002547c0(&local_80);" (assignment_expression "lVar10 = FUN_002547c0(&local_80)" (identifier "lVar10") (= "=") (call_expression "FUN_002547c0(&local_80)" (identifier "FUN_002547c0") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "pbVar11 = local_80 + lVar10;" (assignment_expression "pbVar11 = local_80 + lVar10" (identifier "pbVar11") (= "=") (binary_expression "local_80 + lVar10" (identifier "local_80") (+ "+") (identifier "lVar10"))) (; ";")) (expression_statement "uVar5 = FUN_00254700(&local_80);" (assignment_expression "uVar5 = FUN_00254700(&local_80)" (identifier "uVar5") (= "=") (call_expression "FUN_00254700(&local_80)" (identifier "FUN_00254700") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "uVar12 = FUN_002547c0(&local_80);" (assignment_expression "uVar12 = FUN_002547c0(&local_80)" (identifier "uVar12") (= "=") (call_expression "FUN_002547c0(&local_80)" (identifier "FUN_002547c0") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "uVar3 = FUN_00254810(&local_80);" (assignment_expression "uVar3 = FUN_00254810(&local_80)" (identifier "uVar3") (= "=") (call_expression "FUN_00254810(&local_80)" (identifier "FUN_00254810") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "pbVar18 = local_80 + 1;" (assignment_expression "pbVar18 = local_80 + 1" (identifier "pbVar18") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = *local_80;" (assignment_expression "bVar2 = *local_80" (identifier "bVar2") (= "=") (pointer_expression "*local_80" (* "*") (identifier "local_80"))) (; ";")) (expression_statement "uVar14 = (ulong)bVar2;" (assignment_expression "uVar14 = (ulong)bVar2" (identifier "uVar14") (= "=") (cast_expression "(ulong)bVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar2"))) (; ";")) (if_statement "if ((char)bVar2 < '\0') {\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }\n              else {\n                local_78 = 1;\n              }" (if "if") (parenthesized_expression "((char)bVar2 < '\0')" (( "(") (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n                pbVar18 = local_80 + local_78;\n              }" ({ "{") (expression_statement "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);" (assignment_expression "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2)" (identifier "uVar14") (= "=") (call_expression "FUN_002cedc0(pbVar18,&local_78,bVar2)" (identifier "FUN_002cedc0") (argument_list "(pbVar18,&local_78,bVar2)" (( "(") (identifier "pbVar18") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (identifier "bVar2") () ")")))) (; ";")) (expression_statement "pbVar18 = local_80 + local_78;" (assignment_expression "pbVar18 = local_80 + local_78" (identifier "pbVar18") (= "=") (binary_expression "local_80 + local_78" (identifier "local_80") (+ "+") (identifier "local_78"))) (; ";")) (} "}")) (else_clause "else {\n                local_78 = 1;\n              }" (else "else") (compound_statement "{\n                local_78 = 1;\n              }" ({ "{") (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" (identifier "local_78") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" (identifier "local_80") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "local_70 = uVar14;" (assignment_expression "local_70 = uVar14" (identifier "local_70") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);" (assignment_expression "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" (identifier "uVar12") (= "=") (call_expression "FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" (identifier "FUN_00253e10") (argument_list "(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x160)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x160)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (, ",") (pointer_expression "&local_70" (& "&") (identifier "local_70")) (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);" (assignment_expression "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" (identifier "cVar4") (= "=") (call_expression "FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" (identifier "FUN_00253630") (argument_list "(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" (( "(") (identifier "param_1") (, ",") (identifier "local_80") (, ",") (identifier "uVar12") (, ",") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (identifier "pbVar9") (, ",") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (cVar4 != '\0') {\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                FUN_00254c70(lVar1,0xffffffff);\n                FUN_00254c70(lVar1,0);\n                lVar10 = local_68;\n                lVar13 = FUN_002cefd0(local_70);\n                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);\n                FUN_00254c00(lVar1,uVar5);\n                FUN_00254b90(lVar1,0);\n                goto LAB_00254048;\n              }" ({ "{") (expression_statement "FUN_00254c70(lVar1,0xffffffff);" (call_expression "FUN_00254c70(lVar1,0xffffffff)" (identifier "FUN_00254c70") (argument_list "(lVar1,0xffffffff)" (( "(") (identifier "lVar1") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "FUN_00254c70(lVar1,0);" (call_expression "FUN_00254c70(lVar1,0)" (identifier "FUN_00254c70") (argument_list "(lVar1,0)" (( "(") (identifier "lVar1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "lVar10 = local_68;" (assignment_expression "lVar10 = local_68" (identifier "lVar10") (= "=") (identifier "local_68")) (; ";")) (expression_statement "lVar13 = FUN_002cefd0(local_70);" (assignment_expression "lVar13 = FUN_002cefd0(local_70)" (identifier "lVar13") (= "=") (call_expression "FUN_002cefd0(local_70)" (identifier "FUN_002cefd0") (argument_list "(local_70)" (( "(") (identifier "local_70") () ")")))) (; ";")) (expression_statement "FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);" (call_expression "FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80)" (identifier "FUN_00254b90") (argument_list "(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80)" (( "(") (identifier "lVar1") (, ",") (binary_expression "(lVar10 + 0xb + lVar13) - (long)local_80" (parenthesized_expression "(lVar10 + 0xb + lVar13)" (( "(") (binary_expression "lVar10 + 0xb + lVar13" (binary_expression "lVar10 + 0xb" (identifier "lVar10") (+ "+") (number_literal "0xb")) (+ "+") (identifier "lVar13")) () ")")) (- "-") (cast_expression "(long)local_80" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_80"))) () ")"))) (; ";")) (expression_statement "FUN_00254c00(lVar1,uVar5);" (call_expression "FUN_00254c00(lVar1,uVar5)" (identifier "FUN_00254c00") (argument_list "(lVar1,uVar5)" (( "(") (identifier "lVar1") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "FUN_00254b90(lVar1,0);" (call_expression "FUN_00254b90(lVar1,0)" (identifier "FUN_00254b90") (argument_list "(lVar1,0)" (( "(") (identifier "lVar1") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00254048;" (goto "goto") (statement_identifier "LAB_00254048") (; ";")) (} "}"))) (expression_statement "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);" (assignment_expression "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1)" (identifier "pcVar15") (= "=") (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info",1)" (identifier "gettext") (argument_list "("Invalid DIE in debug info; failed to reduce debug info",1)" (( "(") (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" (" """) (string_content "Invalid DIE in debug info; failed to reduce debug info") (" """)) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" (identifier "psVar17") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }" (if "if") (parenthesized_expression "(pcVar15 == (char *)0x0)" (( "(") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                FUN_0032e7c0("basic_string::_M_construct null not valid");\n              }" ({ "{") (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" (identifier "FUN_0032e7c0") (argument_list "("basic_string::_M_construct null not valid")" (( "(") (string_literal ""basic_string::_M_construct null not valid"" (" """) (string_content "basic_string::_M_construct null not valid") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" (identifier "sVar16") (= "=") (call_expression "strlen(pcVar15)" (identifier "strlen") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" (identifier "local_60") (= "=") (identifier "sVar16")) (; ";")) (if_statement "if (sVar16 < 0x10) {\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }\n              else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" (if "if") (parenthesized_expression "(sVar16 < 0x10)" (( "(") (binary_expression "sVar16 < 0x10" (identifier "sVar16") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n                if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;\n              }" ({ "{") (if_statement "if (sVar16 == 1) {\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }\n                else if (sVar16 != 0) goto LAB_00254580;" (if "if") (parenthesized_expression "(sVar16 == 1)" (( "(") (binary_expression "sVar16 == 1" (identifier "sVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n                }" ({ "{") (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" (identifier "CONCAT71") (argument_list "(local_48[0]._1_7_,*pcVar15)" (( "(") (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_")) (, ",") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")))) (; ";")) (} "}")) (else_clause "else if (sVar16 != 0) goto LAB_00254580;" (else "else") (if_statement "if (sVar16 != 0) goto LAB_00254580;" (if "if") (parenthesized_expression "(sVar16 != 0)" (( "(") (binary_expression "sVar16 != 0" (identifier "sVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00254580;" (goto "goto") (statement_identifier "LAB_00254580") (; ";"))))) (} "}")) (else_clause "else {\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" (else "else") (compound_statement "{\n                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n                local_48[0] = local_60;\n                local_58 = psVar17;\nLAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);\n                psVar17 = local_58;\n              }" ({ "{") (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" (identifier "psVar17") (= "=") (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f6880(&local_58,&local_60,0)" (identifier "FUN_002f6880") (argument_list "(&local_58,&local_60,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (labeled_statement "LAB_00254580:\n                memcpy(psVar17,pcVar15,sVar16);" (statement_identifier "LAB_00254580") (: ":") (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" (identifier "memcpy") (argument_list "(psVar17,pcVar15,sVar16)" (( "(") (identifier "psVar17") (, ",") (identifier "pcVar15") (, ",") (identifier "sVar16") () ")"))) (; ";"))) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" (identifier "psVar17") (= "=") (identifier "local_58")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" (* "*") (cast_expression "(undefined1 *)((long)psVar17 + local_60)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)psVar17 + local_60)" (( "(") (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "psVar17")) (+ "+") (identifier "local_60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" (identifier "local_50") (= "=") (identifier "local_60")) (; ";")) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" (identifier "FUN_00185730") (argument_list "(&DAT_0038ec50,local_58)" (( "(") (pointer_expression "&DAT_0038ec50" (& "&") (identifier "DAT_0038ec50")) (, ",") (identifier "local_58") () ")"))) (; ";")) (goto_statement "goto LAB_002542af;" (goto "goto") (statement_identifier "LAB_002542af") (; ";")) (} "}"))) (expression_statement "pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     );" (assignment_expression "pcVar15 = (char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" (identifier "pcVar15") (= "=") (cast_expression "(char *)gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" (identifier "gettext") (argument_list "(\n                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"\n                                     )" (( "(") (string_literal ""Debug info extends beyond .debug_info section;failed to reduce debug info"" (" """) (string_content "Debug info extends beyond .debug_info section;failed to reduce debug info") (" """)) () ")"))))) (; ";")) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" (identifier "psVar17") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }" (if "if") (parenthesized_expression "(pcVar15 == (char *)0x0)" (( "(") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n              FUN_0032e7c0("basic_string::_M_construct null not valid");\n            }" ({ "{") (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" (identifier "FUN_0032e7c0") (argument_list "("basic_string::_M_construct null not valid")" (( "(") (string_literal ""basic_string::_M_construct null not valid"" (" """) (string_content "basic_string::_M_construct null not valid") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" (identifier "sVar16") (= "=") (call_expression "strlen(pcVar15)" (identifier "strlen") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" (identifier "local_60") (= "=") (identifier "sVar16")) (; ";")) (if_statement "if (sVar16 < 0x10) {\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }\n            else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" (if "if") (parenthesized_expression "(sVar16 < 0x10)" (( "(") (binary_expression "sVar16 < 0x10" (identifier "sVar16") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n              if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;\n            }" ({ "{") (if_statement "if (sVar16 == 1) {\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }\n              else if (sVar16 != 0) goto LAB_0025455b;" (if "if") (parenthesized_expression "(sVar16 == 1)" (( "(") (binary_expression "sVar16 == 1" (identifier "sVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n              }" ({ "{") (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" (identifier "CONCAT71") (argument_list "(local_48[0]._1_7_,*pcVar15)" (( "(") (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_")) (, ",") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")))) (; ";")) (} "}")) (else_clause "else if (sVar16 != 0) goto LAB_0025455b;" (else "else") (if_statement "if (sVar16 != 0) goto LAB_0025455b;" (if "if") (parenthesized_expression "(sVar16 != 0)" (( "(") (binary_expression "sVar16 != 0" (identifier "sVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025455b;" (goto "goto") (statement_identifier "LAB_0025455b") (; ";"))))) (} "}")) (else_clause "else {\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" (else "else") (compound_statement "{\n              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n              local_48[0] = local_60;\n              local_58 = psVar17;\nLAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);\n              psVar17 = local_58;\n            }" ({ "{") (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" (identifier "psVar17") (= "=") (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f6880(&local_58,&local_60,0)" (identifier "FUN_002f6880") (argument_list "(&local_58,&local_60,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (labeled_statement "LAB_0025455b:\n              memcpy(psVar17,pcVar15,sVar16);" (statement_identifier "LAB_0025455b") (: ":") (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" (identifier "memcpy") (argument_list "(psVar17,pcVar15,sVar16)" (( "(") (identifier "psVar17") (, ",") (identifier "pcVar15") (, ",") (identifier "sVar16") () ")"))) (; ";"))) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" (identifier "psVar17") (= "=") (identifier "local_58")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" (* "*") (cast_expression "(undefined1 *)((long)psVar17 + local_60)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)psVar17 + local_60)" (( "(") (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "psVar17")) (+ "+") (identifier "local_60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" (identifier "local_50") (= "=") (identifier "local_60")) (; ";")) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" (identifier "FUN_00185730") (argument_list "(&DAT_0038ec50,local_58)" (( "(") (pointer_expression "&DAT_0038ec50" (& "&") (identifier "DAT_0038ec50")) (, ",") (identifier "local_58") () ")"))) (; ";")) (goto_statement "goto LAB_002542af;" (goto "goto") (statement_identifier "LAB_002542af") (; ";")) (} "}"))) (expression_statement "pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   );" (assignment_expression "pcVar15 = (char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" (identifier "pcVar15") (= "=") (cast_expression "(char *)gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" (identifier "gettext") (argument_list "(\n                                   "Extremely large compile unit in debug info; failed to reduce debug info"\n                                   )" (( "(") (string_literal ""Extremely large compile unit in debug info; failed to reduce debug info"" (" """) (string_content "Extremely large compile unit in debug info; failed to reduce debug info") (" """)) () ")"))))) (; ";")) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" (identifier "psVar17") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" (if "if") (parenthesized_expression "(pcVar15 == (char *)0x0)" (( "(") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" ({ "{") (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" (identifier "FUN_0032e7c0") (argument_list "("basic_string::_M_construct null not valid")" (( "(") (string_literal ""basic_string::_M_construct null not valid"" (" """) (string_content "basic_string::_M_construct null not valid") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" (identifier "sVar16") (= "=") (call_expression "strlen(pcVar15)" (identifier "strlen") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" (identifier "local_60") (= "=") (identifier "sVar16")) (; ";")) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" (if "if") (parenthesized_expression "(sVar16 < 0x10)" (( "(") (binary_expression "sVar16 < 0x10" (identifier "sVar16") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;\n          }" ({ "{") (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002545e6;" (if "if") (parenthesized_expression "(sVar16 == 1)" (( "(") (binary_expression "sVar16 == 1" (identifier "sVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" ({ "{") (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" (identifier "CONCAT71") (argument_list "(local_48[0]._1_7_,*pcVar15)" (( "(") (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_")) (, ",") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")))) (; ";")) (} "}")) (else_clause "else if (sVar16 != 0) goto LAB_002545e6;" (else "else") (if_statement "if (sVar16 != 0) goto LAB_002545e6;" (if "if") (parenthesized_expression "(sVar16 != 0)" (( "(") (binary_expression "sVar16 != 0" (identifier "sVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002545e6;" (goto "goto") (statement_identifier "LAB_002545e6") (; ";"))))) (} "}")) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" (else "else") (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" ({ "{") (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" (identifier "psVar17") (= "=") (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f6880(&local_58,&local_60,0)" (identifier "FUN_002f6880") (argument_list "(&local_58,&local_60,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (labeled_statement "LAB_002545e6:\n            memcpy(psVar17,pcVar15,sVar16);" (statement_identifier "LAB_002545e6") (: ":") (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" (identifier "memcpy") (argument_list "(psVar17,pcVar15,sVar16)" (( "(") (identifier "psVar17") (, ",") (identifier "pcVar15") (, ",") (identifier "sVar16") () ")"))) (; ";"))) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" (identifier "psVar17") (= "=") (identifier "local_58")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" (* "*") (cast_expression "(undefined1 *)((long)psVar17 + local_60)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)psVar17 + local_60)" (( "(") (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "psVar17")) (+ "+") (identifier "local_60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" (identifier "local_50") (= "=") (identifier "local_60")) (; ";")) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" (identifier "FUN_00185730") (argument_list "(&DAT_0038ec50,local_58)" (( "(") (pointer_expression "&DAT_0038ec50" (& "&") (identifier "DAT_0038ec50")) (, ",") (identifier "local_58") () ")"))) (; ";")) (goto_statement "goto LAB_002542af;" (goto "goto") (statement_identifier "LAB_002542af") (; ";")) (} "}"))) (if_statement "if (pbVar9 <= local_80 + 7) {\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }" (if "if") (parenthesized_expression "(pbVar9 <= local_80 + 7)" (( "(") (binary_expression "pbVar9 <= local_80 + 7" (identifier "pbVar9") (<= "<=") (binary_expression "local_80 + 7" (identifier "local_80") (+ "+") (number_literal "7"))) () ")")) (compound_statement "{\n          pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\nLAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;\n          if (local_58 == local_48) {\n            return;\n          }\n          FUN_002eff50();\n          return;\n        }" ({ "{") (expression_statement "pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   );" (assignment_expression "pcVar15 = (char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" (identifier "pcVar15") (= "=") (cast_expression "(char *)gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" (identifier "gettext") (argument_list "(\n                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"\n                                   )" (( "(") (string_literal ""Debug info extends beyond .debug_info section; failed to reduce debug info"" (" """) (string_content "Debug info extends beyond .debug_info section; failed to reduce debug info") (" """)) () ")"))))) (; ";")) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" (identifier "psVar17") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" (if "if") (parenthesized_expression "(pcVar15 == (char *)0x0)" (( "(") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" ({ "{") (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" (identifier "FUN_0032e7c0") (argument_list "("basic_string::_M_construct null not valid")" (( "(") (string_literal ""basic_string::_M_construct null not valid"" (" """) (string_content "basic_string::_M_construct null not valid") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" (identifier "sVar16") (= "=") (call_expression "strlen(pcVar15)" (identifier "strlen") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" (identifier "local_60") (= "=") (identifier "sVar16")) (; ";")) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" (if "if") (parenthesized_expression "(sVar16 < 0x10)" (( "(") (binary_expression "sVar16 < 0x10" (identifier "sVar16") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;\n          }" ({ "{") (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_0025437e;" (if "if") (parenthesized_expression "(sVar16 == 1)" (( "(") (binary_expression "sVar16 == 1" (identifier "sVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" ({ "{") (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" (identifier "CONCAT71") (argument_list "(local_48[0]._1_7_,*pcVar15)" (( "(") (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_")) (, ",") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")))) (; ";")) (} "}")) (else_clause "else if (sVar16 != 0) goto LAB_0025437e;" (else "else") (if_statement "if (sVar16 != 0) goto LAB_0025437e;" (if "if") (parenthesized_expression "(sVar16 != 0)" (( "(") (binary_expression "sVar16 != 0" (identifier "sVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025437e;" (goto "goto") (statement_identifier "LAB_0025437e") (; ";"))))) (} "}")) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" (else "else") (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" ({ "{") (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" (identifier "psVar17") (= "=") (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f6880(&local_58,&local_60,0)" (identifier "FUN_002f6880") (argument_list "(&local_58,&local_60,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (labeled_statement "LAB_0025437e:\n            memcpy(psVar17,pcVar15,sVar16);" (statement_identifier "LAB_0025437e") (: ":") (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" (identifier "memcpy") (argument_list "(psVar17,pcVar15,sVar16)" (( "(") (identifier "psVar17") (, ",") (identifier "pcVar15") (, ",") (identifier "sVar16") () ")"))) (; ";"))) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" (identifier "psVar17") (= "=") (identifier "local_58")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" (* "*") (cast_expression "(undefined1 *)((long)psVar17 + local_60)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)psVar17 + local_60)" (( "(") (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "psVar17")) (+ "+") (identifier "local_60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" (identifier "local_50") (= "=") (identifier "local_60")) (; ";")) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" (identifier "FUN_00185730") (argument_list "(&DAT_0038ec50,local_58)" (( "(") (pointer_expression "&DAT_0038ec50" (& "&") (identifier "DAT_0038ec50")) (, ",") (identifier "local_58") () ")"))) (; ";")) (labeled_statement "LAB_002542af:\n          *(undefined1 *)(param_1 + 0x168) = 1;" (statement_identifier "LAB_002542af") (: ":") (expression_statement "*(undefined1 *)(param_1 + 0x168) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x168) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x168)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x168)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (if_statement "if (local_58 == local_48) {\n            return;\n          }" (if "if") (parenthesized_expression "(local_58 == local_48)" (( "(") (binary_expression "local_58 == local_48" (identifier "local_58") (== "==") (identifier "local_48")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_002eff50();" (call_expression "FUN_002eff50()" (identifier "FUN_002eff50") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pbVar11 = local_80 + uVar7;" (assignment_expression "pbVar11 = local_80 + uVar7" (identifier "pbVar11") (= "=") (binary_expression "local_80 + uVar7" (identifier "local_80") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "uVar5 = FUN_00254700(&local_80);" (assignment_expression "uVar5 = FUN_00254700(&local_80)" (identifier "uVar5") (= "=") (call_expression "FUN_00254700(&local_80)" (identifier "FUN_00254700") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "uVar6 = FUN_00254770(&local_80);" (assignment_expression "uVar6 = FUN_00254770(&local_80)" (identifier "uVar6") (= "=") (call_expression "FUN_00254770(&local_80)" (identifier "FUN_00254770") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "uVar3 = FUN_00254810(&local_80);" (assignment_expression "uVar3 = FUN_00254810(&local_80)" (identifier "uVar3") (= "=") (call_expression "FUN_00254810(&local_80)" (identifier "FUN_00254810") (argument_list "(&local_80)" (( "(") (pointer_expression "&local_80" (& "&") (identifier "local_80")) () ")")))) (; ";")) (expression_statement "pbVar18 = local_80 + 1;" (assignment_expression "pbVar18 = local_80 + 1" (identifier "pbVar18") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = *local_80;" (assignment_expression "bVar2 = *local_80" (identifier "bVar2") (= "=") (pointer_expression "*local_80" (* "*") (identifier "local_80"))) (; ";")) (expression_statement "uVar14 = (ulong)bVar2;" (assignment_expression "uVar14 = (ulong)bVar2" (identifier "uVar14") (= "=") (cast_expression "(ulong)bVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar2"))) (; ";")) (if_statement "if ((char)bVar2 < '\0') {\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }\n        else {\n          local_78 = 1;\n        }" (if "if") (parenthesized_expression "((char)bVar2 < '\0')" (( "(") (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);\n          pbVar18 = local_80 + local_78;\n        }" ({ "{") (expression_statement "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);" (assignment_expression "uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2)" (identifier "uVar14") (= "=") (call_expression "FUN_002cedc0(pbVar18,&local_78,bVar2)" (identifier "FUN_002cedc0") (argument_list "(pbVar18,&local_78,bVar2)" (( "(") (identifier "pbVar18") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (identifier "bVar2") () ")")))) (; ";")) (expression_statement "pbVar18 = local_80 + local_78;" (assignment_expression "pbVar18 = local_80 + local_78" (identifier "pbVar18") (= "=") (binary_expression "local_80 + local_78" (identifier "local_80") (+ "+") (identifier "local_78"))) (; ";")) (} "}")) (else_clause "else {\n          local_78 = 1;\n        }" (else "else") (compound_statement "{\n          local_78 = 1;\n        }" ({ "{") (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" (identifier "local_78") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "local_80 = pbVar18;" (assignment_expression "local_80 = pbVar18" (identifier "local_80") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "local_70 = uVar14;" (assignment_expression "local_70 = uVar14" (identifier "local_70") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);" (assignment_expression "uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" (identifier "uVar12") (= "=") (call_expression "FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" (identifier "FUN_00253e10") (argument_list "(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x160)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x160)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (, ",") (pointer_expression "&local_70" (& "&") (identifier "local_70")) (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);" (assignment_expression "cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" (identifier "cVar4") (= "=") (call_expression "FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" (identifier "FUN_00253630") (argument_list "(param_1,local_80,uVar12,&local_68,pbVar9,uVar3)" (( "(") (identifier "param_1") (, ",") (identifier "local_80") (, ",") (identifier "uVar12") (, ",") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (identifier "pbVar9") (, ",") (identifier "uVar3") () ")")))) (; ";")) (expression_statement "lVar10 = local_68;" (assignment_expression "lVar10 = local_68" (identifier "lVar10") (= "=") (identifier "local_68")) (; ";")) (if_statement "if (cVar4 == '\0') {\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");\n          psVar17 = local_48;\n          local_58 = psVar17;\n          if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }\n          sVar16 = strlen(pcVar15);\n          local_60 = sVar16;\n          if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }\n          *(undefined1 *)((long)psVar17 + local_60) = 0;\n          local_50 = local_60;\n                    \n          FUN_00185730(&DAT_0038ec50,local_58);\n          goto LAB_002542af;\n        }" ({ "{") (expression_statement "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");" (assignment_expression "pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" (identifier "pcVar15") (= "=") (cast_expression "(char *)gettext("Invalid DIE in debug info; failed to reduce debug info")" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext("Invalid DIE in debug info; failed to reduce debug info")" (identifier "gettext") (argument_list "("Invalid DIE in debug info; failed to reduce debug info")" (( "(") (string_literal ""Invalid DIE in debug info; failed to reduce debug info"" (" """) (string_content "Invalid DIE in debug info; failed to reduce debug info") (" """)) () ")"))))) (; ";")) (expression_statement "psVar17 = local_48;" (assignment_expression "psVar17 = local_48" (identifier "psVar17") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (if_statement "if (pcVar15 == (char *)0x0) {\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" (if "if") (parenthesized_expression "(pcVar15 == (char *)0x0)" (( "(") (binary_expression "pcVar15 == (char *)0x0" (identifier "pcVar15") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            FUN_0032e7c0("basic_string::_M_construct null not valid");\n          }" ({ "{") (expression_statement "FUN_0032e7c0("basic_string::_M_construct null not valid");" (call_expression "FUN_0032e7c0("basic_string::_M_construct null not valid")" (identifier "FUN_0032e7c0") (argument_list "("basic_string::_M_construct null not valid")" (( "(") (string_literal ""basic_string::_M_construct null not valid"" (" """) (string_content "basic_string::_M_construct null not valid") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar16 = strlen(pcVar15);" (assignment_expression "sVar16 = strlen(pcVar15)" (identifier "sVar16") (= "=") (call_expression "strlen(pcVar15)" (identifier "strlen") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "local_60 = sVar16;" (assignment_expression "local_60 = sVar16" (identifier "local_60") (= "=") (identifier "sVar16")) (; ";")) (if_statement "if (sVar16 < 0x10) {\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }\n          else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" (if "if") (parenthesized_expression "(sVar16 < 0x10)" (( "(") (binary_expression "sVar16 < 0x10" (identifier "sVar16") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n            if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;\n          }" ({ "{") (if_statement "if (sVar16 == 1) {\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }\n            else if (sVar16 != 0) goto LAB_002543c6;" (if "if") (parenthesized_expression "(sVar16 == 1)" (( "(") (binary_expression "sVar16 == 1" (identifier "sVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);\n            }" ({ "{") (expression_statement "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);" (assignment_expression "local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15)" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (call_expression "CONCAT71(local_48[0]._1_7_,*pcVar15)" (identifier "CONCAT71") (argument_list "(local_48[0]._1_7_,*pcVar15)" (( "(") (field_expression "local_48[0]._1_7_" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_")) (, ",") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")))) (; ";")) (} "}")) (else_clause "else if (sVar16 != 0) goto LAB_002543c6;" (else "else") (if_statement "if (sVar16 != 0) goto LAB_002543c6;" (if "if") (parenthesized_expression "(sVar16 != 0)" (( "(") (binary_expression "sVar16 != 0" (identifier "sVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002543c6;" (goto "goto") (statement_identifier "LAB_002543c6") (; ";"))))) (} "}")) (else_clause "else {\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" (else "else") (compound_statement "{\n            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);\n            local_48[0] = local_60;\n            local_58 = psVar17;\nLAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);\n            psVar17 = local_58;\n          }" ({ "{") (expression_statement "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);" (assignment_expression "psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0)" (identifier "psVar17") (= "=") (cast_expression "(size_t *)FUN_002f6880(&local_58,&local_60,0)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f6880(&local_58,&local_60,0)" (identifier "FUN_002f6880") (argument_list "(&local_58,&local_60,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_48[0] = local_60;" (assignment_expression "local_48[0] = local_60" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_58 = psVar17;" (assignment_expression "local_58 = psVar17" (identifier "local_58") (= "=") (identifier "psVar17")) (; ";")) (labeled_statement "LAB_002543c6:\n            memcpy(psVar17,pcVar15,sVar16);" (statement_identifier "LAB_002543c6") (: ":") (expression_statement "memcpy(psVar17,pcVar15,sVar16);" (call_expression "memcpy(psVar17,pcVar15,sVar16)" (identifier "memcpy") (argument_list "(psVar17,pcVar15,sVar16)" (( "(") (identifier "psVar17") (, ",") (identifier "pcVar15") (, ",") (identifier "sVar16") () ")"))) (; ";"))) (expression_statement "psVar17 = local_58;" (assignment_expression "psVar17 = local_58" (identifier "psVar17") (= "=") (identifier "local_58")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((long)psVar17 + local_60) = 0;" (assignment_expression "*(undefined1 *)((long)psVar17 + local_60) = 0" (pointer_expression "*(undefined1 *)((long)psVar17 + local_60)" (* "*") (cast_expression "(undefined1 *)((long)psVar17 + local_60)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)psVar17 + local_60)" (( "(") (binary_expression "(long)psVar17 + local_60" (cast_expression "(long)psVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "psVar17")) (+ "+") (identifier "local_60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" (identifier "local_50") (= "=") (identifier "local_60")) (; ";")) (expression_statement "FUN_00185730(&DAT_0038ec50,local_58);" (call_expression "FUN_00185730(&DAT_0038ec50,local_58)" (identifier "FUN_00185730") (argument_list "(&DAT_0038ec50,local_58)" (( "(") (pointer_expression "&DAT_0038ec50" (& "&") (identifier "DAT_0038ec50")) (, ",") (identifier "local_58") () ")"))) (; ";")) (goto_statement "goto LAB_002542af;" (goto "goto") (statement_identifier "LAB_002542af") (; ";")) (} "}"))) (expression_statement "lVar13 = FUN_002cefd0(local_70);" (assignment_expression "lVar13 = FUN_002cefd0(local_70)" (identifier "lVar13") (= "=") (call_expression "FUN_002cefd0(local_70)" (identifier "FUN_002cefd0") (argument_list "(local_70)" (( "(") (identifier "local_70") () ")")))) (; ";")) (expression_statement "FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);" (call_expression "FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80)" (identifier "FUN_00254c70") (argument_list "(lVar1,(lVar10 + 7 + lVar13) - (long)local_80)" (( "(") (identifier "lVar1") (, ",") (binary_expression "(lVar10 + 7 + lVar13) - (long)local_80" (parenthesized_expression "(lVar10 + 7 + lVar13)" (( "(") (binary_expression "lVar10 + 7 + lVar13" (binary_expression "lVar10 + 7" (identifier "lVar10") (+ "+") (number_literal "7")) (+ "+") (identifier "lVar13")) () ")")) (- "-") (cast_expression "(long)local_80" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_80"))) () ")"))) (; ";")) (expression_statement "FUN_00254c00(lVar1,uVar5);" (call_expression "FUN_00254c00(lVar1,uVar5)" (identifier "FUN_00254c00") (argument_list "(lVar1,uVar5)" (( "(") (identifier "lVar1") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "FUN_00254c70(lVar1,0);" (call_expression "FUN_00254c70(lVar1,0)" (identifier "FUN_00254c70") (argument_list "(lVar1,0)" (( "(") (identifier "lVar1") (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_00254048:\n        FUN_00254cd0(lVar1,uVar3);" (statement_identifier "LAB_00254048") (: ":") (expression_statement "FUN_00254cd0(lVar1,uVar3);" (call_expression "FUN_00254cd0(lVar1,uVar3)" (identifier "FUN_00254cd0") (argument_list "(lVar1,uVar3)" (( "(") (identifier "lVar1") (, ",") (identifier "uVar3") () ")"))) (; ";"))) (expression_statement "FUN_002ceed0(lVar1,local_70);" (call_expression "FUN_002ceed0(lVar1,local_70)" (identifier "FUN_002ceed0") (argument_list "(lVar1,local_70)" (( "(") (identifier "lVar1") (, ",") (identifier "local_70") () ")"))) (; ";")) (expression_statement "FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);" (call_expression "FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68)" (identifier "FUN_00254920") (argument_list "(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68)" (( "(") (identifier "lVar1") (, ",") (pointer_expression "*(undefined8 *)(param_1 + 0x150)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x150)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x150)" (( "(") (binary_expression "param_1 + 0x150" (identifier "param_1") (+ "+") (number_literal "0x150")) () ")")))) (, ",") (identifier "local_80") (, ",") (identifier "local_68") () ")"))) (; ";")) (expression_statement "local_80 = pbVar11;" (assignment_expression "local_80 = pbVar11" (identifier "local_80") (= "=") (identifier "pbVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar11 < pbVar9)" (( "(") (binary_expression "pbVar11 < pbVar9" (identifier "pbVar11") (< "<") (identifier "pbVar9")) () ")")) (; ";")) (} "}"))) (expression_statement "bVar2 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar2 = *(byte *)(param_1 + 0x20)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }" (if "if") (parenthesized_expression "(((bVar2 & 2) == 0) && ((bVar2 & 8) == 0))" (( "(") (binary_expression "((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)" (parenthesized_expression "((bVar2 & 2) == 0)" (( "(") (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" (( "(") (binary_expression "bVar2 & 2" (identifier "bVar2") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((bVar2 & 8) == 0)" (( "(") (binary_expression "(bVar2 & 8) == 0" (parenthesized_expression "(bVar2 & 8)" (( "(") (binary_expression "bVar2 & 8" (identifier "bVar2") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);\n      *(byte *)(param_1 + 0x20) = bVar2 | 2;\n      return;\n    }" ({ "{") (expression_statement "*(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);" (assignment_expression "*(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148)" (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148)" (pointer_expression "*(long *)(param_1 + 0x150)" (* "*") (cast_expression "(long *)(param_1 + 0x150)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x150)" (( "(") (binary_expression "param_1 + 0x150" (identifier "param_1") (+ "+") (number_literal "0x150")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x148)" (* "*") (cast_expression "(long *)(param_1 + 0x148)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x148)" (( "(") (binary_expression "param_1 + 0x148" (identifier "param_1") (+ "+") (number_literal "0x148")) () ")")))))) (; ";")) (expression_statement "*(byte *)(param_1 + 0x20) = bVar2 | 2;" (assignment_expression "*(byte *)(param_1 + 0x20) = bVar2 | 2" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "bVar2 | 2" (identifier "bVar2") (| "|") (number_literal "2"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");" (call_expression "FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size")" (identifier "FUN_0018dcf0") (argument_list "("../../gold/output.h",0x218,"set_data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x218") (, ",") (string_literal ""set_data_size"" (" """) (string_content "set_data_size") (" """)) () ")"))) (; ";")) (} "}")))

/* DWARF original prototype: void set_final_data_size(Output_reduced_debug_info_section * this) */

void __thiscall
gold::type_1::function_1
          (type_1 *this)

{
  vector<var_2,_std::var_1<var_2>var_3> *destination;
  type_2 var_35;
  type_2 value;
  bool bVar2;
  type_3 VVar3;
  type_3 var_9;
  type_4 *var_7;
  type_3 var_10;
  type_4 *var_34;
  type_4 *var_17;
  size_t var_18;
  type_5 uVar9;
  char *var_20;
  size_t var_23;
  type_6 *psVar12;
  type_7 uVar13;
  type_4 *var_4;
  size_t var_12;
  uint64_t abbreviation_number;
  type_4 *die_end;
  type_6 var_27;
  type_6 *var_29;
  type_6 local_50;
  type_6 var_30 [3];
  
  if (this->failed_ != false) {
    return;
  }
  var_4 = (this->super_Output_section).postprocessing_buffer_;
  if (var_4 == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    Output_section::var_5(&this->super_Output_section);
  }
  var_7 = var_4 + (this->super_Output_section).super_Output_data.data_size_;
  Output_section::var_6(&this->super_Output_section);
  if (var_4 < var_7) {
    destination = &this->data_;
    do {
      var_9 = var_8<32>(&var_4);
      if (var_9 == 0xffffffff) {
        var_9 = var_8<32>(&var_4);
        if (var_9 == 0) {
          if (var_4 + 0x13 < var_7) {
            var_10 = var_8<64>(&var_4);
            var_34 = var_4 + var_10;
            VVar3 = var_8<16>(&var_4);
            var_10 = var_8<64>(&var_4);
            value = var_8<8>(&var_4);
            var_17 = var_4 + 1;
            var_35 = *var_4;
            uVar9 = (type_5)var_35;
            if ((char)var_35 < '\0') {
              uVar9 = var_11(var_17,&var_12,var_35);
              var_17 = var_4 + var_12;
            }
            else {
              var_12 = 1;
            }
            var_4 = var_17;
            abbreviation_number = uVar9;
            var_17 = Output_reduced_debug_abbrev_section::var_13
                               (this->associated_abbrev_,&abbreviation_number,var_10);
            uVar13 = 1;
            bVar2 = var_14(this,var_4,var_17,&die_end,var_7,(type_8)value,true);
            if (bVar2) {
              var_15<32>(destination,0xffffffff);
              var_15<32>(destination,0);
              var_17 = die_end;
              var_18 = var_16(abbreviation_number);
              var_15<64>
                        (destination,(type_3)(var_17 + ((var_18 + 0xb) - (long)var_4)));
              var_15<16>(destination,VVar3);
              var_15<64>(destination,0);
              goto LAB_00254048;
            }
            var_20 = (char *)var_19("Invalid DIE in debug info; failed to reduce debug info",
                                      uVar13);
            psVar12 = var_30;
            var_29 = psVar12;
            if (var_20 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
              std::var_21("basic_string::_M_construct null not valid");
            }
            var_23 = var_22(var_20);
            var_27 = var_23;
            if (var_23 < 0x10) {
              if (var_23 == 1) {
                var_30[0] = var_24(var_30[0]._1_7_,*var_20);
              }
              else if (var_23 != 0) goto LAB_00254580;
            }
            else {
              psVar12 = (type_6 *)std::string::var_25((type_9 *)&var_29,&var_27,0);
              var_30[0] = var_27;
              var_29 = psVar12;
LAB_00254580:
              var_26(psVar12,var_20,var_23);
              psVar12 = var_29;
            }
            *(type_10 *)((long)psVar12 + var_27) = 0;
            local_50 = var_27;
                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */
            var_28("%s",var_29);
            goto LAB_002542af;
          }
          var_20 = (char *)var_19(
                                   "Debug info extends beyond .debug_info section;failed to reduce debug info"
                                   );
          psVar12 = var_30;
          var_29 = psVar12;
          if (var_20 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            std::var_21("basic_string::_M_construct null not valid");
          }
          var_23 = var_22(var_20);
          var_27 = var_23;
          if (var_23 < 0x10) {
            if (var_23 == 1) {
              var_30[0] = var_24(var_30[0]._1_7_,*var_20);
            }
            else if (var_23 != 0) goto LAB_0025455b;
          }
          else {
            psVar12 = (type_6 *)std::string::var_25((type_9 *)&var_29,&var_27,0);
            var_30[0] = var_27;
            var_29 = psVar12;
LAB_0025455b:
            var_26(psVar12,var_20,var_23);
            psVar12 = var_29;
          }
          *(type_10 *)((long)psVar12 + var_27) = 0;
          local_50 = var_27;
                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */
          var_28("%s",var_29);
          goto LAB_002542af;
        }
        var_20 = (char *)var_19(
                                 "Extremely large compile unit in debug info; failed to reduce debug info"
                                 );
        psVar12 = var_30;
        var_29 = psVar12;
        if (var_20 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::var_21("basic_string::_M_construct null not valid");
        }
        var_23 = var_22(var_20);
        var_27 = var_23;
        if (var_23 < 0x10) {
          if (var_23 == 1) {
            var_30[0] = var_24(var_30[0]._1_7_,*var_20);
          }
          else if (var_23 != 0) goto LAB_002545e6;
        }
        else {
          psVar12 = (type_6 *)std::string::var_25((type_9 *)&var_29,&var_27,0);
          var_30[0] = var_27;
          var_29 = psVar12;
LAB_002545e6:
          var_26(psVar12,var_20,var_23);
          psVar12 = var_29;
        }
        *(type_10 *)((long)psVar12 + var_27) = 0;
        local_50 = var_27;
                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */
        var_28("%s",var_29);
        goto LAB_002542af;
      }
      if (var_7 <= var_4 + 7) {
        var_20 = (char *)var_19(
                                 "Debug info extends beyond .debug_info section; failed to reduce debug info"
                                 );
        psVar12 = var_30;
        var_29 = psVar12;
        if (var_20 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::var_21("basic_string::_M_construct null not valid");
        }
        var_23 = var_22(var_20);
        var_27 = var_23;
        if (var_23 < 0x10) {
          if (var_23 == 1) {
            var_30[0] = var_24(var_30[0]._1_7_,*var_20);
          }
          else if (var_23 != 0) goto LAB_0025437e;
        }
        else {
          psVar12 = (type_6 *)std::string::var_25((type_9 *)&var_29,&var_27,0);
          var_30[0] = var_27;
          var_29 = psVar12;
LAB_0025437e:
          var_26(psVar12,var_20,var_23);
          psVar12 = var_29;
        }
        *(type_10 *)((long)psVar12 + var_27) = 0;
        local_50 = var_27;
                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */
        var_28("%s",var_29);
LAB_002542af:
        this->failed_ = true;
        if (var_29 == var_30) {
          return;
        }
        var_31(var_29);
        return;
      }
      var_34 = var_4 + var_9;
      VVar3 = var_8<16>(&var_4);
      var_9 = var_8<32>(&var_4);
      value = var_8<8>(&var_4);
      var_17 = var_4 + 1;
      var_35 = *var_4;
      uVar9 = (type_5)var_35;
      if ((char)var_35 < '\0') {
        uVar9 = var_11(var_17,&var_12,var_35);
        var_17 = var_4 + var_12;
      }
      else {
        var_12 = 1;
      }
      var_4 = var_17;
      abbreviation_number = uVar9;
      var_17 = Output_reduced_debug_abbrev_section::var_13
                         (this->associated_abbrev_,&abbreviation_number,(type_5)var_9);
      bVar2 = var_14(this,var_4,var_17,&die_end,var_7,(type_8)value,false);
      var_17 = die_end;
      if (!bVar2) {
        var_20 = (char *)var_19("Invalid DIE in debug info; failed to reduce debug info");
        psVar12 = var_30;
        var_29 = psVar12;
        if (var_20 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
          std::var_21("basic_string::_M_construct null not valid");
        }
        var_23 = var_22(var_20);
        var_27 = var_23;
        if (var_23 < 0x10) {
          if (var_23 == 1) {
            var_30[0] = var_24(var_30[0]._1_7_,*var_20);
          }
          else if (var_23 != 0) goto LAB_002543c6;
        }
        else {
          psVar12 = (type_6 *)std::string::var_25((type_9 *)&var_29,&var_27,0);
          var_30[0] = var_27;
          var_29 = psVar12;
LAB_002543c6:
          var_26(psVar12,var_20,var_23);
          psVar12 = var_29;
        }
        *(type_10 *)((long)psVar12 + var_27) = 0;
        local_50 = var_27;
                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */
        var_28("%s",var_29);
        goto LAB_002542af;
      }
      var_18 = var_16(abbreviation_number);
      var_15<32>(destination,((int)var_17 + 7 + (int)var_18) - (int)var_4);
      var_15<16>(destination,VVar3);
      var_15<32>(destination,0);
LAB_00254048:
      var_15<8>(destination,value);
      var_32(destination,abbreviation_number);
      std::vector<var_2,_std::var_1<var_2>var_3>::var_33<var_2*>
                (destination,
                 (this->data_).super__Vector_base<var_2,_std::var_1<var_2>var_3>.
                 _M_impl._M_finish,var_4,die_end);
      var_4 = var_34;
    } while (var_34 < var_7);
  }
  var_35 = (this->super_Output_section).super_Output_data.field_0x20;
  if (((var_35 & 2) == 0) && ((var_35 & 8) == 0)) {
    (this->super_Output_section).super_Output_data.data_size_ =
         (long)(this->data_).super__Vector_base<var_2,_std::var_1<var_2>var_3>.
               _M_impl._M_finish -
         (long)(this->data_).super__Vector_base<var_2,_std::var_1<var_2>var_3>.
               _M_impl._M_start;
    (this->super_Output_section).super_Output_data.field_0x20 = var_35 | 2;
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_36("../../gold/output.h",0x218,"set_data_size");
}


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

void MASKED(long param_1)

{
  long lVar1;
  byte bVar2;
  undefined1 uVar3;
  char cVar4;
  undefined2 uVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  byte *pbVar9;
  long lVar10;
  byte *pbVar11;
  undefined8 uVar12;
  long lVar13;
  ulong uVar14;
  char *pcVar15;
  size_t sVar16;
  size_t *psVar17;
  byte *pbVar18;
  byte *local_80;
  long local_78;
  ulong local_70;
  long local_68;
  size_t local_60;
  size_t *local_58;
  size_t local_50;
  size_t local_48 [3];
  
  if (*(char *)(param_1 + 0x168) != '\0') {
    return;
  }
  pbVar18 = *(byte **)(param_1 + 0xc0);
  if (pbVar18 == (byte *)0x0) {
    FUN_00253490();
  }
  else {
    pbVar9 = pbVar18 + *(long *)(param_1 + 0x10);
    local_80 = pbVar18;
    FUN_0020a4b0();
    if (local_80 < pbVar9) {
      lVar1 = param_1 + 0x148;
      do {
        uVar7 = FUN_00254770(&local_80);
        if (uVar7 == 0xffffffff) {
          iVar8 = FUN_00254770(&local_80);
          if (iVar8 == 0) {
            if (local_80 + 0x13 < pbVar9) {
              lVar10 = FUN_002547c0(&local_80);
              pbVar11 = local_80 + lVar10;
              uVar5 = FUN_00254700(&local_80);
              uVar12 = FUN_002547c0(&local_80);
              uVar3 = FUN_00254810(&local_80);
              pbVar18 = local_80 + 1;
              bVar2 = *local_80;
              uVar14 = (ulong)bVar2;
              if ((char)bVar2 < '\0') {
                uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);
                pbVar18 = local_80 + local_78;
              }
              else {
                local_78 = 1;
              }
              local_80 = pbVar18;
              local_70 = uVar14;
              uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar12);
              cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);
              if (cVar4 != '\0') {
                FUN_00254c70(lVar1,0xffffffff);
                FUN_00254c70(lVar1,0);
                lVar10 = local_68;
                lVar13 = FUN_002cefd0(local_70);
                FUN_00254b90(lVar1,(lVar10 + 0xb + lVar13) - (long)local_80);
                FUN_00254c00(lVar1,uVar5);
                FUN_00254b90(lVar1,0);
                goto LAB_00254048;
              }
              pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info",1);
              psVar17 = local_48;
              local_58 = psVar17;
              if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
                FUN_0032e7c0("basic_string::_M_construct null not valid");
              }
              sVar16 = strlen(pcVar15);
              local_60 = sVar16;
              if (sVar16 < 0x10) {
                if (sVar16 == 1) {
                  local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
                }
                else if (sVar16 != 0) goto LAB_00254580;
              }
              else {
                psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
                local_48[0] = local_60;
                local_58 = psVar17;
LAB_00254580:
                memcpy(psVar17,pcVar15,sVar16);
                psVar17 = local_58;
              }
              *(undefined1 *)((long)psVar17 + local_60) = 0;
              local_50 = local_60;
                    /* try { // try from 00254545 to 00254549 has its CatchHandler @ 00254684 */
              FUN_00185730(&DAT_0038ec50,local_58);
              goto LAB_002542af;
            }
            pcVar15 = (char *)gettext(
                                     "Debug info extends beyond .debug_info section;failed to reduce debug info"
                                     );
            psVar17 = local_48;
            local_58 = psVar17;
            if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
              FUN_0032e7c0("basic_string::_M_construct null not valid");
            }
            sVar16 = strlen(pcVar15);
            local_60 = sVar16;
            if (sVar16 < 0x10) {
              if (sVar16 == 1) {
                local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
              }
              else if (sVar16 != 0) goto LAB_0025455b;
            }
            else {
              psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
              local_48[0] = local_60;
              local_58 = psVar17;
LAB_0025455b:
              memcpy(psVar17,pcVar15,sVar16);
              psVar17 = local_58;
            }
            *(undefined1 *)((long)psVar17 + local_60) = 0;
            local_50 = local_60;
                    /* try { // try from 002544d9 to 002544dd has its CatchHandler @ 00254674 */
            FUN_00185730(&DAT_0038ec50,local_58);
            goto LAB_002542af;
          }
          pcVar15 = (char *)gettext(
                                   "Extremely large compile unit in debug info; failed to reduce debug info"
                                   );
          psVar17 = local_48;
          local_58 = psVar17;
          if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_0032e7c0("basic_string::_M_construct null not valid");
          }
          sVar16 = strlen(pcVar15);
          local_60 = sVar16;
          if (sVar16 < 0x10) {
            if (sVar16 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
            }
            else if (sVar16 != 0) goto LAB_002545e6;
          }
          else {
            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
            local_48[0] = local_60;
            local_58 = psVar17;
LAB_002545e6:
            memcpy(psVar17,pcVar15,sVar16);
            psVar17 = local_58;
          }
          *(undefined1 *)((long)psVar17 + local_60) = 0;
          local_50 = local_60;
                    /* try { // try from 00254465 to 00254469 has its CatchHandler @ 0025466c */
          FUN_00185730(&DAT_0038ec50,local_58);
          goto LAB_002542af;
        }
        if (pbVar9 <= local_80 + 7) {
          pcVar15 = (char *)gettext(
                                   "Debug info extends beyond .debug_info section; failed to reduce debug info"
                                   );
          psVar17 = local_48;
          local_58 = psVar17;
          if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_0032e7c0("basic_string::_M_construct null not valid");
          }
          sVar16 = strlen(pcVar15);
          local_60 = sVar16;
          if (sVar16 < 0x10) {
            if (sVar16 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
            }
            else if (sVar16 != 0) goto LAB_0025437e;
          }
          else {
            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
            local_48[0] = local_60;
            local_58 = psVar17;
LAB_0025437e:
            memcpy(psVar17,pcVar15,sVar16);
            psVar17 = local_58;
          }
          *(undefined1 *)((long)psVar17 + local_60) = 0;
          local_50 = local_60;
                    /* try { // try from 002542aa to 002542ae has its CatchHandler @ 0025467c */
          FUN_00185730(&DAT_0038ec50,local_58);
LAB_002542af:
          *(undefined1 *)(param_1 + 0x168) = 1;
          if (local_58 == local_48) {
            return;
          }
          FUN_002eff50();
          return;
        }
        pbVar11 = local_80 + uVar7;
        uVar5 = FUN_00254700(&local_80);
        uVar6 = FUN_00254770(&local_80);
        uVar3 = FUN_00254810(&local_80);
        pbVar18 = local_80 + 1;
        bVar2 = *local_80;
        uVar14 = (ulong)bVar2;
        if ((char)bVar2 < '\0') {
          uVar14 = FUN_002cedc0(pbVar18,&local_78,bVar2);
          pbVar18 = local_80 + local_78;
        }
        else {
          local_78 = 1;
        }
        local_80 = pbVar18;
        local_70 = uVar14;
        uVar12 = FUN_00253e10(*(undefined8 *)(param_1 + 0x160),&local_70,uVar6);
        cVar4 = FUN_00253630(param_1,local_80,uVar12,&local_68,pbVar9,uVar3);
        lVar10 = local_68;
        if (cVar4 == '\0') {
          pcVar15 = (char *)gettext("Invalid DIE in debug info; failed to reduce debug info");
          psVar17 = local_48;
          local_58 = psVar17;
          if (pcVar15 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_0032e7c0("basic_string::_M_construct null not valid");
          }
          sVar16 = strlen(pcVar15);
          local_60 = sVar16;
          if (sVar16 < 0x10) {
            if (sVar16 == 1) {
              local_48[0] = CONCAT71(local_48[0]._1_7_,*pcVar15);
            }
            else if (sVar16 != 0) goto LAB_002543c6;
          }
          else {
            psVar17 = (size_t *)FUN_002f6880(&local_58,&local_60,0);
            local_48[0] = local_60;
            local_58 = psVar17;
LAB_002543c6:
            memcpy(psVar17,pcVar15,sVar16);
            psVar17 = local_58;
          }
          *(undefined1 *)((long)psVar17 + local_60) = 0;
          local_50 = local_60;
                    /* try { // try from 0025433e to 00254342 has its CatchHandler @ 00254664 */
          FUN_00185730(&DAT_0038ec50,local_58);
          goto LAB_002542af;
        }
        lVar13 = FUN_002cefd0(local_70);
        FUN_00254c70(lVar1,(lVar10 + 7 + lVar13) - (long)local_80);
        FUN_00254c00(lVar1,uVar5);
        FUN_00254c70(lVar1,0);
LAB_00254048:
        FUN_00254cd0(lVar1,uVar3);
        FUN_002ceed0(lVar1,local_70);
        FUN_00254920(lVar1,*(undefined8 *)(param_1 + 0x150),local_80,local_68);
        local_80 = pbVar11;
      } while (pbVar11 < pbVar9);
    }
    bVar2 = *(byte *)(param_1 + 0x20);
    if (((bVar2 & 2) == 0) && ((bVar2 & 8) == 0)) {
      *(long *)(param_1 + 0x10) = *(long *)(param_1 + 0x150) - *(long *)(param_1 + 0x148);
      *(byte *)(param_1 + 0x20) = bVar2 | 2;
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0018dcf0("../../gold/output.h",0x218,"set_data_size");
}

