
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original name: do_sized_write<32, true>
   DWARF original prototype: void do_sized_write<32,_true>(Eh_frame_hdr * this, Output_file * of) */

void __thiscall gold::Eh_frame_hdr::do_sized_write<32,_true>(Eh_frame_hdr *this,Output_file *of)

{
  byte bVar1;
  bool bVar2;
  uint uVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  int iVar7;
  uchar *puVar8;
  uint uVar9;
  uint uVar10;
  pointer ppVar11;
  uint *puVar12;
  int iVar13;
  pointer ppVar14;
  pointer ppVar15;
  Fde_addresses<32> fde_addresses;
  
  bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c;
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  uVar9 = (uint)(this->super_Output_section_data).super_Output_data.offset_;
  iVar13 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  uVar3 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;
  iVar4 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4);
  if ((iVar13 < 0) ||
     (iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),
     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,
     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0)) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
  }
  puVar8 = of->base_ + uVar9;
  puVar8[0] = '\x01';
  puVar8[1] = '\x1b';
  if ((((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0) &&
     (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0)) {
    uVar9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -
            (int)(this->super_Output_section_data).super_Output_data.address_) - 4;
    bVar2 = this->any_unrecognized_eh_frame_sections_;
    *(uint *)(puVar8 + 4) =
         uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000;
    if ((bVar2 == false) &&
       ((this->fde_offsets_).
        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
        ._M_impl._M_finish !=
        (this->fde_offsets_).
        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
        ._M_impl._M_start)) {
      puVar8[2] = '\x03';
      puVar8[3] = ';';
      uVar9 = (int)(this->fde_offsets_).
                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
                   ._M_impl._M_finish -
              (int)(this->fde_offsets_).
                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
                   ._M_impl._M_start;
      fde_addresses.fde_addresses_.
      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
      ._M_impl._M_start = (pointer)0x0;
      uVar10 = (int)uVar9 >> 3;
      fde_addresses.fde_addresses_.
      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
      ._M_impl._M_finish = (pointer)0x0;
      *(uint *)(puVar8 + 8) =
           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;
      fde_addresses.fde_addresses_.
      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
      ._M_impl._M_end_of_storage = (pointer)0x0;
      if (0x1fffffff < uVar10) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */
        std::__throw_length_error("vector::reserve");
      }
      if (uVar10 != 0) {
                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */
        ppVar11 = (pointer)operator_new(uVar9);
        if (fde_addresses.fde_addresses_.
            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
            ._M_impl._M_start != (pointer)0x0) {
          operator_delete(fde_addresses.fde_addresses_.
                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                          ._M_impl._M_start);
        }
        fde_addresses.fde_addresses_.
        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);
        fde_addresses.fde_addresses_.
        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
        ._M_impl._M_finish = ppVar11;
      }
      fde_addresses.fde_addresses_.
      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
      ._M_impl._M_start =
           fde_addresses.fde_addresses_.
           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
           ._M_impl._M_finish;
                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */
      get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);
      ppVar14 = fde_addresses.fde_addresses_.
                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                ._M_impl._M_finish;
      ppVar11 = fde_addresses.fde_addresses_.
                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                ._M_impl._M_start;
      if (fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
          ._M_impl._M_start !=
          fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
          ._M_impl._M_finish) {
        iVar13 = (int)fde_addresses.fde_addresses_.
                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                      ._M_impl._M_finish -
                 (int)fde_addresses.fde_addresses_.
                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                      ._M_impl._M_start;
        uVar10 = iVar13 >> 3;
        uVar9 = 0x1f;
        if (uVar10 != 0) {
          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {
          }
        }
        std::
        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>
                  (fde_addresses.fde_addresses_.
                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                   ._M_impl._M_start,
                   fde_addresses.fde_addresses_.
                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);
        if (iVar13 < 0x81) {
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>
                    (ppVar11,ppVar14,0);
        }
        else {
          ppVar15 = ppVar11 + 0x10;
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>
                    (ppVar11,ppVar15,0);
          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {
            uVar9 = ppVar15->first;
            uVar6 = ppVar15->second;
            uVar10 = ppVar15[-1].first;
            ppVar11 = ppVar15;
            while (uVar9 < uVar10) {
              ppVar11->first = uVar10;
              ppVar11->second = ppVar11[-1].second;
              uVar10 = ppVar11[-2].first;
              ppVar11 = ppVar11 + -1;
            }
            ppVar11->first = uVar9;
            ppVar11->second = uVar6;
          }
        }
      }
      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */
        do_gold_unreachable("../../gold/output.h",0xc5,"address");
      }
      iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;
      puVar12 = (uint *)(puVar8 + 0xc);
      ppVar11 = fde_addresses.fde_addresses_.
                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                ._M_impl._M_start;
      if (fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
          ._M_impl._M_start ==
          fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
          ._M_impl._M_finish) {
        uVar9 = 0xc;
        iVar13 = 0;
      }
      else {
        do {
          ppVar14 = ppVar11 + 1;
          uVar9 = ppVar11->first - iVar13;
          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                     uVar9 * 0x1000000;
          uVar9 = ppVar11->second - iVar13;
          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar9 * 0x1000000;
          puVar12 = puVar12 + 2;
          ppVar11 = ppVar14;
        } while (fde_addresses.fde_addresses_.
                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                 ._M_impl._M_finish != ppVar14);
        uVar9 = ((int)fde_addresses.fde_addresses_.
                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                      ._M_impl._M_finish +
                 (-8 - (int)fde_addresses.fde_addresses_.
                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;
        iVar13 = (int)uVar9 >> 0x1f;
      }
      if (iVar4 != iVar13 || uVar3 != uVar9) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */
        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");
      }
      if (fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
          ._M_impl._M_start != (pointer)0x0) {
        operator_delete(fde_addresses.fde_addresses_.
                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                        ._M_impl._M_start);
        return;
      }
    }
    else {
      puVar8[2] = 0xff;
      puVar8[3] = 0xff;
      if (iVar4 != 0 || uVar3 != 8) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");
      }
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/output.h",0xc5,"address");
}



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

void FUN_00388610(int param_1,int param_2)

{
  byte bVar1;
  char cVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  undefined2 *puVar6;
  uint uVar7;
  int iVar8;
  uint *puVar9;
  int iVar10;
  uint extraout_EDX;
  uint uVar11;
  uint extraout_EDX_00;
  uint *puVar12;
  uint extraout_EDX_01;
  uint *puVar13;
  uint *local_28;
  uint *local_24;
  int local_20;
  
  bVar1 = *(byte *)(param_1 + 0x1c);
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);
  }
  uVar7 = *(uint *)(param_1 + 0x14);
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);
  }
  uVar3 = *(uint *)(param_1 + 0xc);
  iVar4 = *(int *)(param_1 + 0x10);
  if ((*(int *)(param_1 + 0x18) < 0) ||
     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),
     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),
     iVar8 = *(int *)(param_2 + 0xc) - iVar10,
     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=
     (int)(iVar8 - uVar11) < 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);
  }
  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));
  *puVar6 = 0x1b01;
  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&
     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {
    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;
    cVar2 = *(char *)(param_1 + 0x40);
    *(uint *)(puVar6 + 2) =
         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;
    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {
      puVar6[1] = 0x3b03;
      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);
      local_28 = (uint *)0x0;
      uVar7 = iVar8 >> 3;
      local_24 = (uint *)0x0;
      *(uint *)(puVar6 + 4) =
           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
      local_20 = 0;
      if (0x1fffffff < uVar7) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */
        FUN_003f3a70("vector::reserve");
      }
      if (uVar7 != 0) {
                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */
        puVar9 = (uint *)FUN_003ac4d0(iVar8);
        if (local_28 != (uint *)0x0) {
          FUN_003ae080(local_28);
        }
        local_20 = (int)puVar9 + iVar8;
        local_24 = puVar9;
      }
      local_28 = local_24;
                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */
      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);
      puVar12 = local_24;
      puVar9 = local_28;
      uVar7 = extraout_EDX;
      if (local_28 != local_24) {
        iVar8 = (int)local_24 - (int)local_28;
        uVar11 = iVar8 >> 3;
        uVar7 = 0x1f;
        if (uVar11 != 0) {
          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {
          }
        }
        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);
        if (iVar8 < 0x81) {
          FUN_00383b70(puVar9,puVar12,0);
          uVar7 = extraout_EDX_01;
        }
        else {
          puVar13 = puVar9 + 0x20;
          FUN_00383b70(puVar9,puVar13,0);
          uVar7 = extraout_EDX_00;
          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {
            uVar11 = *puVar13;
            uVar5 = puVar13[1];
            uVar7 = puVar13[-2];
            puVar9 = puVar13;
            while (uVar11 < uVar7) {
              *puVar9 = uVar7;
              puVar9[1] = puVar9[-1];
              uVar7 = puVar9[-4];
              puVar9 = puVar9 + -2;
            }
            *puVar9 = uVar11;
            puVar9[1] = uVar5;
          }
        }
      }
      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */
        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);
      }
      iVar8 = *(int *)(param_1 + 4);
      puVar9 = (uint *)(puVar6 + 6);
      puVar12 = local_28;
      if (local_28 == local_24) {
        uVar7 = 0xc;
        iVar8 = 0;
      }
      else {
        do {
          puVar13 = puVar12 + 2;
          uVar7 = *puVar12 - iVar8;
          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                    uVar7 * 0x1000000;
          uVar7 = puVar12[1] - iVar8;
          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                      uVar7 * 0x1000000;
          puVar9 = puVar9 + 2;
          puVar12 = puVar13;
        } while (local_24 != puVar13);
        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;
        iVar8 = (int)uVar7 >> 0x1f;
      }
      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */
        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);
      }
      if (local_28 != (uint *)0x0) {
        FUN_003ae080(local_28);
        return;
      }
    }
    else {
      puVar6[1] = 0xffff;
      if (iVar4 != 0 || uVar3 != 8) {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);
      }
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);
}


CALL 0x00074f02
ADD EAX,0x2619eb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOV ESI,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + -0x3c],EAX
MOVZX EAX,byte ptr [ESI + 0x1c]
TEST AL,0x4
JZ 0x00388961
MOV ECX,dword ptr [ESI + 0x14]
MOV EBX,dword ptr [ESI + 0x18]
MOV dword ptr [EBP + -0x30],ECX
MOV dword ptr [EBP + -0x2c],EBX
TEST AL,0x2
JZ 0x0038897d
MOV EAX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [ESI + 0x10]
MOV ECX,EAX
MOV dword ptr [EBP + -0x34],EAX
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBP + -0x38],EDX
TEST EAX,EAX
JS 0x0038892c
MOV EBX,dword ptr [EDI + 0xc]
XOR EDX,EDX
MOV EAX,ECX
ADD EAX,dword ptr [EBP + -0x30]
ADC EDX,dword ptr [EBP + -0x2c]
CMP dword ptr [EDI + 0x8],EAX
SBB EBX,EDX
JL 0x0038892c
MOV EAX,dword ptr [EBP + -0x30]
MOV EBX,0x1b01
ADD EAX,dword ptr [EDI + 0x10]
MOV dword ptr [EBP + -0x30],EAX
MOV word ptr [EAX],BX
MOV EAX,dword ptr [ESI + 0x2c]
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x00388945
MOV EAX,dword ptr [EAX + 0x4]
TEST byte ptr [ESI + 0x1c],0x1
JZ 0x00388945
SUB EAX,dword ptr [ESI + 0x4]
MOV EBX,dword ptr [EBP + -0x30]
SUB EAX,0x4
CMP byte ptr [ESI + 0x40],0x0
BSWAP EAX
MOV dword ptr [EBX + 0x4],EAX
JNZ 0x00388880
MOV EAX,dword ptr [ESI + 0x34]
CMP dword ptr [ESI + 0x38],EAX
JZ 0x00388880
MOV EBX,dword ptr [EBP + -0x30]
MOV EAX,0x3b03
MOV word ptr [EBX + 0x2],AX
MOV EAX,dword ptr [ESI + 0x38]
SUB EAX,dword ptr [ESI + 0x34]
MOV dword ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x40],EAX
SAR EAX,0x3
MOV EDX,EAX
MOV dword ptr [EBP + -0x20],0x0
BSWAP EDX
MOV dword ptr [EBX + 0x8],EDX
MOV dword ptr [EBP + -0x1c],0x0
CMP EAX,0x1fffffff
JA 0x003889d1
TEST EAX,EAX
JNZ 0x003888a8
LEA EAX,[EBP + -0x24]
PUSH EAX
LEA EAX,[ESI + 0x34]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x00382310
MOV EAX,dword ptr [EBP + -0x20]
MOV EDI,dword ptr [EBP + -0x24]
ADD ESP,0x10
MOV dword ptr [EBP + -0x40],EAX
CMP EDI,EAX
JZ 0x003887dd
MOV ECX,dword ptr [EBP + -0x40]
MOV EAX,0x1f
PUSH 0x0
MOV EBX,ECX
SUB EBX,EDI
MOV EDX,EBX
SAR EDX,0x3
BSR EDX,EDX
XOR EDX,0x1f
SUB EAX,EDX
ADD EAX,EAX
PUSH EAX
PUSH ECX
PUSH EDI
CALL 0x00388420
ADD ESP,0x10
CMP EBX,0x80
JLE 0x003888f0
SUB ESP,0x4
LEA EBX,[EDI + 0x80]
PUSH 0x0
PUSH EBX
PUSH EDI
CALL 0x00383b70
MOV ECX,dword ptr [EBP + -0x40]
ADD ESP,0x10
CMP ECX,EBX
JZ 0x003887dd
MOV EAX,dword ptr [EBP + -0x30]
MOV dword ptr [EBP + 0x8],ESI
MOV dword ptr [EBP + -0x40],EAX
NOP
MOV ESI,dword ptr [EBX]
MOV EDX,dword ptr [EBX + -0x8]
LEA EAX,[EBX + -0x8]
MOV EDI,dword ptr [EBX + 0x4]
CMP EDX,ESI
JBE 0x00388910
MOV dword ptr [EBP + -0x30],ECX
JMP 0x003887b2
MOV EAX,ECX
MOV dword ptr [EAX + 0x8],EDX
MOV EDX,dword ptr [EAX + 0x4]
LEA ECX,[EAX + -0x8]
MOV dword ptr [EAX + 0xc],EDX
MOV EDX,dword ptr [EAX + -0x8]
CMP ESI,EDX
JC 0x003887b0
MOV ECX,dword ptr [EBP + -0x30]
ADD EBX,0x8
MOV dword ptr [EAX],ESI
MOV dword ptr [EAX + 0x4],EDI
CMP ECX,EBX
JNZ 0x00388790
MOV EAX,dword ptr [EBP + -0x40]
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x30],EAX
TEST byte ptr [ESI + 0x1c],0x1
JZ 0x003889b5
MOV EAX,dword ptr [EBP + -0x30]
MOV EBX,dword ptr [ESI + 0x4]
MOV EDI,dword ptr [EBP + -0x24]
MOV ESI,dword ptr [EBP + -0x20]
LEA ECX,[EAX + 0xc]
MOV dword ptr [EBP + -0x30],ECX
CMP EDI,ESI
JZ 0x00388920
MOV dword ptr [EBP + -0x40],EAX
MOV EDX,EDI
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,dword ptr [EDX]
ADD EDX,0x8
ADD ECX,0x8
SUB EAX,EBX
BSWAP EAX
MOV dword ptr [ECX + -0x8],EAX
MOV EAX,dword ptr [EDX + -0x4]
SUB EAX,EBX
BSWAP EAX
MOV dword ptr [ECX + -0x4],EAX
CMP ESI,EDX
JNZ 0x00388810
SUB ESI,0x8
MOV EAX,dword ptr [EBP + -0x30]
MOV EBX,dword ptr [EBP + -0x40]
SUB ESI,EDI
SHR ESI,0x3
LEA EAX,[EAX + ESI*0x8 + 0x8]
SUB EAX,EBX
MOV ECX,EAX
MOV EDX,EAX
SAR ECX,0x1f
MOV ESI,dword ptr [EBP + -0x38]
MOV EAX,dword ptr [EBP + -0x34]
XOR ESI,ECX
XOR EAX,EDX
MOV EDX,ESI
OR EDX,EAX
JNZ 0x003889e3
TEST EDI,EDI
JZ 0x0038889d
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EDI
CALL 0x003ae080
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + -0x30]
MOV EDX,0xffffffff
MOV EDI,dword ptr [EBP + -0x38]
MOV word ptr [EAX + 0x2],DX
MOV EAX,dword ptr [EBP + -0x34]
XOR EAX,0x8
OR EDI,EAX
JNZ 0x00388999
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBP + -0x40]
MOV EBX,dword ptr [EBP + -0x3c]
CALL 0x003ac4d0
MOV EDX,dword ptr [EBP + -0x24]
ADD ESP,0x10
TEST EDX,EDX
JZ 0x003888d5
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x3c]
MOV dword ptr [EBP + -0x44],EAX
PUSH EDX
CALL 0x003ae080
MOV EAX,dword ptr [EBP + -0x44]
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],EAX
MOV dword ptr [EBP + -0x20],EAX
ADD EAX,dword ptr [EBP + -0x40]
MOV dword ptr [EBP + -0x1c],EAX
JMP 0x00388713
SUB ESP,0x4
PUSH 0x0
PUSH dword ptr [EBP + -0x40]
PUSH EDI
CALL 0x00383b70
ADD ESP,0x10
JMP 0x003887dd
MOV EAX,EBX
JMP 0x003887c8
MOV EDX,0xc
XOR ECX,ECX
JMP 0x00388848
MOV EBX,dword ptr [EBP + -0x3c]
PUSH ESI
LEA EAX,[EBX + 0xffeb4518]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0x6f
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x3c]
PUSH ECX
LEA EAX,[EBX + 0xffeb44fc]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
LEA EAX,[EBX + 0xffeb4534]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xe3
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
LEA EAX,[EBX + 0xffeb4528]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xcf
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x3c]
PUSH ECX
LEA EAX,[EBX + 0xffeb44ec]
PUSH EAX
LEA EAX,[EBX + 0xffeb42e7]
PUSH 0xaa
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EDX
LEA EAX,[EBX + 0xffeb44fc]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x3c]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe9be1a]
PUSH EAX
CALL 0x003f3a70
MOV EBX,dword ptr [EBP + -0x3c]
PUSH EAX
LEA EAX,[EBX + 0xffeb44ec]
PUSH EAX
LEA EAX,[EBX + 0xffeb42e7]
PUSH 0xd1
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00388610(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}\n\n" comment (function_definition "void FUN_00388610(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}" primitive_type (function_declarator "FUN_00388610(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined2 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint extraout_EDX_00;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint extraout_EDX_01;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",bVar1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar7 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1)" identifier (argument_list "("../../gold/output.h",0xcf,"data_size",bVar1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar3 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }" if (parenthesized_expression "((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0))" ( (binary_expression "(*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)" (parenthesized_expression "(*(int *)(param_1 + 0x18) < 0)" ( (binary_expression "*(int *)(param_1 + 0x18) < 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) < number_literal) )) || (parenthesized_expression "(iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)" ( (comma_expression "iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7)" identifier = (binary_expression "*(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7)" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar3,uVar7)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3,uVar7)" identifier (argument_list "(uVar3,uVar7)" ( identifier , identifier )))))) , (comma_expression "uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar3 + uVar7)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar3 + uVar7" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar3 + uVar7" identifier + identifier)) )))) , (comma_expression "iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "iVar8 = *(int *)(param_2 + 0xc) - iVar10" identifier = (binary_expression "*(int *)(param_2 + 0xc) - iVar10" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar10)" identifier (argument_list "(*(int *)(param_2 + 0xc),iVar10)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar8,uVar11)" identifier (argument_list "(iVar8,uVar11)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar8 - uVar11) < 0" (cast_expression "(int)(iVar8 - uVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 - uVar11)" ( (binary_expression "iVar8 - uVar11" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);" (call_expression "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",param_1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;) })) (expression_statement "puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));" (assignment_expression "puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10))" identifier = (cast_expression "(undefined2 *)(uVar7 + *(int *)(param_2 + 0x10))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + *(int *)(param_2 + 0x10))" ( (binary_expression "uVar7 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar6 = 0x1b01;" (assignment_expression "*puVar6 = 0x1b01" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (if_statement "if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }" if (parenthesized_expression "(((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0))" ( (binary_expression "((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)" (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1)" ( (binary_expression "*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x2c) + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x2c) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }" { (expression_statement "uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;" (assignment_expression "uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4" identifier = (binary_expression "(*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4" (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4))" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x2c) + 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x2c) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 4)" ( (binary_expression "*(int *)(param_1 + 0x2c) + 4" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) )) - number_literal)) ;) (expression_statement "cVar2 = *(char *)(param_1 + 0x40);" (assignment_expression "cVar2 = *(char *)(param_1 + 0x40)" identifier = (pointer_expression "*(char *)(param_1 + 0x40)" * (cast_expression "(char *)(param_1 + 0x40)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;" (assignment_expression "*(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (pointer_expression "*(uint *)(puVar6 + 2)" * (cast_expression "(uint *)(puVar6 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 2)" ( (binary_expression "puVar6 + 2" identifier + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 * 0x1000000" identifier * number_literal))) ;) (if_statement "if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" if (parenthesized_expression "((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34)))" ( (binary_expression "(cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))" (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))" ( (binary_expression "*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) != (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }" { (expression_statement "puVar6[1] = 0x3b03;" (assignment_expression "puVar6[1] = 0x3b03" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);" (assignment_expression "iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34)" identifier = (binary_expression "*(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))))) ;) (expression_statement "local_28 = (uint *)0x0;" (assignment_expression "local_28 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = iVar8 >> 3;" (assignment_expression "uVar7 = iVar8 >> 3" identifier = (binary_expression "iVar8 >> 3" identifier >> number_literal)) ;) (expression_statement "local_24 = (uint *)0x0;" (assignment_expression "local_24 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(puVar6 + 4)" * (cast_expression "(uint *)(puVar6 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (if_statement "if (0x1fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }" if (parenthesized_expression "(0x1fffffff < uVar7)" ( (binary_expression "0x1fffffff < uVar7" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        FUN_003f3a70("vector::reserve");\n      }" { comment comment (expression_statement "FUN_003f3a70("vector::reserve");" (call_expression "FUN_003f3a70("vector::reserve")" identifier (argument_list "("vector::reserve")" ( (string_literal ""vector::reserve"" " string_content ") ))) ;) })) (if_statement "if (uVar7 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }" { comment (expression_statement "puVar9 = (uint *)FUN_003ac4d0(iVar8);" (assignment_expression "puVar9 = (uint *)FUN_003ac4d0(iVar8)" identifier = (cast_expression "(uint *)FUN_003ac4d0(iVar8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))))) ;) (if_statement "if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }" if (parenthesized_expression "(local_28 != (uint *)0x0)" ( (binary_expression "local_28 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_003ae080(local_28);\n        }" { (expression_statement "FUN_003ae080(local_28);" (call_expression "FUN_003ae080(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) })) (expression_statement "local_20 = (int)puVar9 + iVar8;" (assignment_expression "local_20 = (int)puVar9 + iVar8" identifier = (binary_expression "(int)puVar9 + iVar8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "local_24 = puVar9;" (assignment_expression "local_24 = puVar9" identifier = identifier) ;) })) (expression_statement "local_28 = local_24;" (assignment_expression "local_28 = local_24" identifier = identifier) ;) comment (expression_statement "FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);" (call_expression "FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28)" identifier (argument_list "(param_1,param_2,param_1 + 0x34,&local_28)" ( identifier , identifier , (binary_expression "param_1 + 0x34" identifier + number_literal) , (pointer_expression "&local_28" & identifier) ))) ;) (expression_statement "puVar12 = local_24;" (assignment_expression "puVar12 = local_24" identifier = identifier) ;) (expression_statement "puVar9 = local_28;" (assignment_expression "puVar9 = local_28" identifier = identifier) ;) (expression_statement "uVar7 = extraout_EDX;" (assignment_expression "uVar7 = extraout_EDX" identifier = identifier) ;) (if_statement "if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }" if (parenthesized_expression "(local_28 != local_24)" ( (binary_expression "local_28 != local_24" identifier != identifier) )) (compound_statement "{\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }" { (expression_statement "iVar8 = (int)local_24 - (int)local_28;" (assignment_expression "iVar8 = (int)local_24 - (int)local_28" identifier = (binary_expression "(int)local_24 - (int)local_28" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar11 = iVar8 >> 3;" (assignment_expression "uVar11 = iVar8 >> 3" identifier = (binary_expression "iVar8 >> 3" identifier >> number_literal)) ;) (expression_statement "uVar7 = 0x1f;" (assignment_expression "uVar7 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }" { (for_statement "for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }" for ( ; (binary_expression "uVar11 >> uVar7 == 0" (binary_expression "uVar11 >> uVar7" identifier >> identifier) == number_literal) ; (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ) (compound_statement "{\n          }" { })) })) (expression_statement "FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);" (call_expression "FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0)" identifier (argument_list "(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0)" ( identifier , identifier , (binary_expression "(0x1f - (uVar7 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar7 ^ 0x1f))" ( (binary_expression "0x1f - (uVar7 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar7 ^ 0x1f)" ( (binary_expression "uVar7 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal) , number_literal ))) ;) (if_statement "if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" if (parenthesized_expression "(iVar8 < 0x81)" ( (binary_expression "iVar8 < 0x81" identifier < number_literal) )) (compound_statement "{\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }" { (expression_statement "FUN_00383b70(puVar9,puVar12,0);" (call_expression "FUN_00383b70(puVar9,puVar12,0)" identifier (argument_list "(puVar9,puVar12,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar7 = extraout_EDX_01;" (assignment_expression "uVar7 = extraout_EDX_01" identifier = identifier) ;) }) (else_clause "else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" else (compound_statement "{\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" { (expression_statement "puVar13 = puVar9 + 0x20;" (assignment_expression "puVar13 = puVar9 + 0x20" identifier = (binary_expression "puVar9 + 0x20" identifier + number_literal)) ;) (expression_statement "FUN_00383b70(puVar9,puVar13,0);" (call_expression "FUN_00383b70(puVar9,puVar13,0)" identifier (argument_list "(puVar9,puVar13,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar7 = extraout_EDX_00;" (assignment_expression "uVar7 = extraout_EDX_00" identifier = identifier) ;) (for_statement "for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }" for ( ; (binary_expression "puVar12 != puVar13" identifier != identifier) ; (assignment_expression "puVar13 = puVar13 + 2" identifier = (binary_expression "puVar13 + 2" identifier + number_literal)) ) (compound_statement "{\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }" { (expression_statement "uVar11 = *puVar13;" (assignment_expression "uVar11 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar5 = puVar13[1];" (assignment_expression "uVar5 = puVar13[1]" identifier = (subscript_expression "puVar13[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar13[-2];" (assignment_expression "uVar7 = puVar13[-2]" identifier = (subscript_expression "puVar13[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar9 = puVar13;" (assignment_expression "puVar9 = puVar13" identifier = identifier) ;) (while_statement "while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }" while (parenthesized_expression "(uVar11 < uVar7)" ( (binary_expression "uVar11 < uVar7" identifier < identifier) )) (compound_statement "{\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }" { (expression_statement "*puVar9 = uVar7;" (assignment_expression "*puVar9 = uVar7" (pointer_expression "*puVar9" * identifier) = identifier) ;) (expression_statement "puVar9[1] = puVar9[-1];" (assignment_expression "puVar9[1] = puVar9[-1]" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (subscript_expression "puVar9[-1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar9[-4];" (assignment_expression "uVar7 = puVar9[-4]" identifier = (subscript_expression "puVar9[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar9 = puVar9 + -2;" (assignment_expression "puVar9 = puVar9 + -2" identifier = (binary_expression "puVar9 + -2" identifier + number_literal)) ;) })) (expression_statement "*puVar9 = uVar11;" (assignment_expression "*puVar9 = uVar11" (pointer_expression "*puVar9" * identifier) = identifier) ;) (expression_statement "puVar9[1] = uVar5;" (assignment_expression "puVar9[1] = uVar5" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = identifier) ;) })) }))) })) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }" { comment comment (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar7)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar8 = *(int *)(param_1 + 4);" (assignment_expression "iVar8 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar9 = (uint *)(puVar6 + 6);" (assignment_expression "puVar9 = (uint *)(puVar6 + 6)" identifier = (cast_expression "(uint *)(puVar6 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 6)" ( (binary_expression "puVar6 + 6" identifier + number_literal) )))) ;) (expression_statement "puVar12 = local_28;" (assignment_expression "puVar12 = local_28" identifier = identifier) ;) (if_statement "if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" if (parenthesized_expression "(local_28 == local_24)" ( (binary_expression "local_28 == local_24" identifier == identifier) )) (compound_statement "{\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }" { (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" else (compound_statement "{\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" { (do_statement "do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);" do (compound_statement "{\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        }" { (expression_statement "puVar13 = puVar12 + 2;" (assignment_expression "puVar13 = puVar12 + 2" identifier = (binary_expression "puVar12 + 2" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar12 - iVar8;" (assignment_expression "uVar7 = *puVar12 - iVar8" identifier = (binary_expression "*puVar12 - iVar8" (pointer_expression "*puVar12" * identifier) - identifier)) ;) (expression_statement "*puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;" (assignment_expression "*puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 * 0x1000000" identifier * number_literal))) ;) (expression_statement "uVar7 = puVar12[1] - iVar8;" (assignment_expression "uVar7 = puVar12[1] - iVar8" identifier = (binary_expression "puVar12[1] - iVar8" (subscript_expression "puVar12[1]" identifier [ number_literal ]) - identifier)) ;) (expression_statement "puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;" (assignment_expression "puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar9 = puVar9 + 2;" (assignment_expression "puVar9 = puVar9 + 2" identifier = (binary_expression "puVar9 + 2" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "(local_24 != puVar13)" ( (binary_expression "local_24 != puVar13" identifier != identifier) )) ;) (expression_statement "uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;" (assignment_expression "uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14" identifier = (binary_expression "((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14" (parenthesized_expression "((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U)" ( (binary_expression "(int)local_24 + (-8 - (int)local_28) & 0xfffffff8U" (binary_expression "(int)local_24 + (-8 - (int)local_28)" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)local_28)" ( (binary_expression "-8 - (int)local_28" number_literal - (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )) + number_literal)) ;) (expression_statement "iVar8 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar8 = (int)uVar7 >> 0x1f" identifier = (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) }))) (if_statement "if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }" if (parenthesized_expression "(iVar4 != iVar8 || (uVar3 ^ uVar7) != 0)" ( (binary_expression "iVar4 != iVar8 || (uVar3 ^ uVar7) != 0" (binary_expression "iVar4 != iVar8" identifier != identifier) || (binary_expression "(uVar3 ^ uVar7) != 0" (parenthesized_expression "(uVar3 ^ uVar7)" ( (binary_expression "uVar3 ^ uVar7" identifier ^ identifier) )) != number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }" { comment comment (expression_statement "FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);" (call_expression "FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7)" identifier (argument_list "("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7)" ( (string_literal ""../../gold/ehframe.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , (binary_expression "uVar3 ^ uVar7" identifier ^ identifier) ))) ;) })) (if_statement "if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }" if (parenthesized_expression "(local_28 != (uint *)0x0)" ( (binary_expression "local_28 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_003ae080(local_28);\n        return;\n      }" { (expression_statement "FUN_003ae080(local_28);" (call_expression "FUN_003ae080(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" else (compound_statement "{\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" { (expression_statement "puVar6[1] = 0xffff;" (assignment_expression "puVar6[1] = 0xffff" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }" if (parenthesized_expression "(iVar4 != 0 || uVar3 != 8)" ( (binary_expression "iVar4 != 0 || uVar3 != 8" (binary_expression "iVar4 != 0" identifier != number_literal) || (binary_expression "uVar3 != 8" identifier != number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }" { comment (expression_statement "FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);" (call_expression "FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3)" identifier (argument_list "("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3)" ( (string_literal ""../../gold/ehframe.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , identifier ))) ;) })) }))) (return_statement "return;" return ;) })) comment (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar3)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* DWARF original name: do_sized_write<32, true>\n   DWARF original prototype: void do_sized_write<32,_true>(Eh_frame_hdr * this, Output_file * of) */\n\nvoid __thiscall gold::Eh_frame_hdr::do_sized_write<32,_true>(Eh_frame_hdr *this,Output_file *of)\n\n{\n  byte bVar1;\n  bool bVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  uchar *puVar8;\n  uint uVar9;\n  uint uVar10;\n  pointer ppVar11;\n  uint *puVar12;\n  int iVar13;\n  pointer ppVar14;\n  pointer ppVar15;\n  Fde_addresses<32> fde_addresses;\n  \n  bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c;\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  uVar9 = (uint)(this->super_Output_section_data).super_Output_data.offset_;\n  iVar13 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  uVar3 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n  iVar4 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4);\n  if ((iVar13 < 0) ||\n     (iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }\n  puVar8 = of->base_ + uVar9;\n  puVar8[0] = '\x01';\n  puVar8[1] = '\x1b';\n  if ((((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0) &&\n     (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0)) {\n    uVar9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_) - 4;\n    bVar2 = this->any_unrecognized_eh_frame_sections_;\n    *(uint *)(puVar8 + 4) =\n         uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000;\n    if ((bVar2 == false) &&\n       ((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start)) {\n      puVar8[2] = '\x03';\n      puVar8[3] = ';';\n      uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar10 = (int)uVar9 >> 3;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (0x1fffffff < uVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }\n      if (uVar10 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n      ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish;\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }\n      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;\n      puVar12 = (uint *)(puVar8 + 0xc);\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }\n      else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }\n      if (iVar4 != iVar13 || uVar3 != uVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }\n    }\n    else {\n      puVar8[2] = 0xff;\n      puVar8[3] = 0xff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0xc5,"address");\n}\n\n" comment comment (declaration "void __thiscall gold::Eh_frame_hdr::do_sized_write<32,_true>(Eh_frame_hdr *this,Output_file *of)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Eh_frame_hdr::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>(Eh_frame_hdr" identifier > ( identifier) (pointer_declarator "*this" * identifier) , (ERROR "Output_file *of)\n\n{\n  byte" identifier (pointer_declarator "*of" * identifier) ) { identifier) identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uchar *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "pointer ppVar11;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "pointer ppVar14;" type_identifier identifier ;) (declaration "pointer ppVar15;" type_identifier identifier ;) (expression_statement "Fde_addresses<32> fde_addresses;" (update_expression "Fde_addresses<32> fde_addresses" (binary_expression "Fde_addresses<32> fde_addresses" (binary_expression "Fde_addresses<32" identifier < number_literal) > identifier) --) ;) (expression_statement "bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c;" (assignment_expression "bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c" identifier = (field_expression "(this->super_Output_section_data).super_Output_data.field_0x1c" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (expression_statement "uVar9 = (uint)(this->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "uVar9 = (uint)(this->super_Output_section_data).super_Output_data.offset_" identifier = (field_expression "(uint)(this->super_Output_section_data).super_Output_data.offset_" (field_expression "(uint)(this->super_Output_section_data).super_Output_data" (call_expression "(uint)(this->super_Output_section_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "iVar13 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);" (assignment_expression "iVar13 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" ( (binary_expression "(int)&(this->super_Output_section_data).super_Output_data.offset_ + 4" (cast_expression "(int)&(this->super_Output_section_data).super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.offset_" & (field_expression "(this->super_Output_section_data).super_Output_data.offset_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "uVar3 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;" (assignment_expression "uVar3 = (uint)(this->super_Output_section_data).super_Output_data.data_size_" identifier = (field_expression "(uint)(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(uint)(this->super_Output_section_data).super_Output_data" (call_expression "(uint)(this->super_Output_section_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "iVar4 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4);" (assignment_expression "iVar4 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4" (cast_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((iVar13 < 0) ||\n     (iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" if (parenthesized_expression "((iVar13 < 0) ||\n     (iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0))" ( (binary_expression "(iVar13 < 0) ||\n     (iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0)" (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0)" ( (comma_expression "iVar5 = *(int *)((int)&of->file_size_ + 4), iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar5 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) ))))) , (comma_expression "iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9),\n     uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar13 = iVar13 + (uint)CARRY4(uVar3,uVar9)" identifier = (binary_expression "iVar13 + (uint)CARRY4(uVar3,uVar9)" identifier + (cast_expression "(uint)CARRY4(uVar3,uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3,uVar9)" identifier (argument_list "(uVar3,uVar9)" ( identifier , identifier )))))) , (comma_expression "uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9), iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0" (assignment_expression "uVar10 = (uint)((uint)of->file_size_ < uVar3 + uVar9)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar3 + uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar3 + uVar9)" ( (binary_expression "(uint)of->file_size_ < uVar3 + uVar9" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar3 + uVar9" identifier + identifier)) )))) , (comma_expression "iVar7 = iVar5 - iVar13,\n     (SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar7 = iVar5 - iVar13" identifier = (binary_expression "iVar5 - iVar13" identifier - identifier)) , (binary_expression "(SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)) != (int)(iVar7 - uVar10) < 0" (parenthesized_expression "(SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10))" ( (binary_expression "SBORROW4(iVar5,iVar13) != SBORROW4(iVar7,uVar10)" (call_expression "SBORROW4(iVar5,iVar13)" identifier (argument_list "(iVar5,iVar13)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar7,uVar10)" identifier (argument_list "(iVar7,uVar10)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar7 - uVar10) < 0" (cast_expression "(int)(iVar7 - uVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - uVar10)" ( (binary_expression "iVar7 - uVar10" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" (call_expression "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;) })) (expression_statement "puVar8 = of->base_ + uVar9;" (assignment_expression "puVar8 = of->base_ + uVar9" identifier = (binary_expression "of->base_ + uVar9" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (expression_statement "puVar8[0] = '\x01';" (assignment_expression "puVar8[0] = '\x01'" (subscript_expression "puVar8[0]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "puVar8[1] = '\x1b';" (assignment_expression "puVar8[1] = '\x1b'" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (char_literal "'\x1b'" ' escape_sequence ')) ;) (if_statement "if ((((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0) &&\n     (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0)) {\n    uVar9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_) - 4;\n    bVar2 = this->any_unrecognized_eh_frame_sections_;\n    *(uint *)(puVar8 + 4) =\n         uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000;\n    if ((bVar2 == false) &&\n       ((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start)) {\n      puVar8[2] = '\x03';\n      puVar8[3] = ';';\n      uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar10 = (int)uVar9 >> 3;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (0x1fffffff < uVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }\n      if (uVar10 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n      ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish;\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }\n      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;\n      puVar12 = (uint *)(puVar8 + 0xc);\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }\n      else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }\n      if (iVar4 != iVar13 || uVar3 != uVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }\n    }\n    else {\n      puVar8[2] = 0xff;\n      puVar8[3] = 0xff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }\n    }\n    return;\n  }" if (parenthesized_expression "((((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0) &&\n     (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0))" ( (binary_expression "(((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0) &&\n     (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0)" (parenthesized_expression "(((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0)" ( (binary_expression "((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0" (parenthesized_expression "((this->eh_frame_section_->super_Output_data).field_0x1c & 1)" ( (binary_expression "(this->eh_frame_section_->super_Output_data).field_0x1c & 1" (field_expression "(this->eh_frame_section_->super_Output_data).field_0x1c" (parenthesized_expression "(this->eh_frame_section_->super_Output_data)" ( (field_expression "this->eh_frame_section_->super_Output_data" (field_expression "this->eh_frame_section_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0)" ( (binary_expression "((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0" (parenthesized_expression "((this->super_Output_section_data).super_Output_data.field_0x1c & 1)" ( (binary_expression "(this->super_Output_section_data).super_Output_data.field_0x1c & 1" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x1c" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_) - 4;\n    bVar2 = this->any_unrecognized_eh_frame_sections_;\n    *(uint *)(puVar8 + 4) =\n         uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000;\n    if ((bVar2 == false) &&\n       ((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start)) {\n      puVar8[2] = '\x03';\n      puVar8[3] = ';';\n      uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar10 = (int)uVar9 >> 3;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (0x1fffffff < uVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }\n      if (uVar10 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n      ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish;\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }\n      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;\n      puVar12 = (uint *)(puVar8 + 0xc);\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }\n      else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }\n      if (iVar4 != iVar13 || uVar3 != uVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }\n    }\n    else {\n      puVar8[2] = 0xff;\n      puVar8[3] = 0xff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }\n    }\n    return;\n  }" { (expression_statement "uVar9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_) - 4;" (assignment_expression "uVar9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_) - 4" identifier = (binary_expression "((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_) - 4" (parenthesized_expression "((int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_)" ( (binary_expression "(int)(this->eh_frame_section_->super_Output_data).address_ -\n            (int)(this->super_Output_section_data).super_Output_data.address_" (cast_expression "(int)(this->eh_frame_section_->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->eh_frame_section_->super_Output_data).address_" (parenthesized_expression "(this->eh_frame_section_->super_Output_data)" ( (field_expression "this->eh_frame_section_->super_Output_data" (field_expression "this->eh_frame_section_" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) - (cast_expression "(int)(this->super_Output_section_data).super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Output_section_data).super_Output_data.address_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) - number_literal)) ;) (expression_statement "bVar2 = this->any_unrecognized_eh_frame_sections_;" (assignment_expression "bVar2 = this->any_unrecognized_eh_frame_sections_" identifier = (field_expression "this->any_unrecognized_eh_frame_sections_" identifier -> field_identifier)) ;) (expression_statement "*(uint *)(puVar8 + 4) =\n         uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000;" (assignment_expression "*(uint *)(puVar8 + 4) =\n         uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000" (pointer_expression "*(uint *)(puVar8 + 4)" * (cast_expression "(uint *)(puVar8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 * 0x1000000" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 * 0x1000000" identifier * number_literal))) ;) (if_statement "if ((bVar2 == false) &&\n       ((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start)) {\n      puVar8[2] = '\x03';\n      puVar8[3] = ';';\n      uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar10 = (int)uVar9 >> 3;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (0x1fffffff < uVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }\n      if (uVar10 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n      ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish;\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }\n      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;\n      puVar12 = (uint *)(puVar8 + 0xc);\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }\n      else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }\n      if (iVar4 != iVar13 || uVar3 != uVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }\n    }\n    else {\n      puVar8[2] = 0xff;\n      puVar8[3] = 0xff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }\n    }" if (parenthesized_expression "((bVar2 == false) &&\n       ((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start))" ( (binary_expression "(bVar2 == false) &&\n       ((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start)" (parenthesized_expression "(bVar2 == false)" ( (binary_expression "bVar2 == false" identifier == false) )) && (parenthesized_expression "((this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start)" ( (ERROR "(this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::" (comma_expression "(this->fde_offsets_).\n        super__Vector_base<std::pair<int,_unsigned_char>,_std" (binary_expression "(this->fde_offsets_).\n        super__Vector_base<std::pair<int" (binary_expression "(this->fde_offsets_).\n        super__Vector_base<std" (field_expression "(this->fde_offsets_).\n        super__Vector_base" (parenthesized_expression "(this->fde_offsets_)" ( (field_expression "this->fde_offsets_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>_>_>\n        ._M_impl._M_finish !=\n        (this->fde_offsets_).\n        super__Vector_base<std" (field_expression "_unsigned_char>_>_>\n        ._M_impl._M_finish" (field_expression "_unsigned_char>_>_>\n        ._M_impl" (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "(this->fde_offsets_).\n        super__Vector_base<std" (field_expression "(this->fde_offsets_).\n        super__Vector_base" (parenthesized_expression "(this->fde_offsets_)" ( (field_expression "this->fde_offsets_" identifier -> field_identifier) )) . field_identifier) < identifier))) : : (comma_expression "pair<int,_unsigned_char>,_std" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<int,_unsigned_char>_>_>\n        ._M_impl._M_start" (binary_expression "pair<int" identifier < identifier) , (field_expression "_unsigned_char>_>_>\n        ._M_impl._M_start" (field_expression "_unsigned_char>_>_>\n        ._M_impl" (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ))) )) (compound_statement "{\n      puVar8[2] = '\x03';\n      puVar8[3] = ';';\n      uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar10 = (int)uVar9 >> 3;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (0x1fffffff < uVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }\n      if (uVar10 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }\n      fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish;\n                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */\n      get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n      ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish;\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }\n      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;\n      puVar12 = (uint *)(puVar8 + 0xc);\n      ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }\n      else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }\n      if (iVar4 != iVar13 || uVar3 != uVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }\n      if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }\n    }" { (expression_statement "puVar8[2] = '\x03';" (assignment_expression "puVar8[2] = '\x03'" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "puVar8[3] = ';';" (assignment_expression "puVar8[3] = ';'" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = (char_literal "';'" ' character ')) ;) (ERROR "uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::" (comma_expression "uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int,_unsigned_char>,_std" (binary_expression "uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std::pair<int" (assignment_expression "uVar9 = (int)(this->fde_offsets_).\n                   super__Vector_base<std" identifier = (binary_expression "(int)(this->fde_offsets_).\n                   super__Vector_base<std" (cast_expression "(int)(this->fde_offsets_).\n                   super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->fde_offsets_).\n                   super__Vector_base" (parenthesized_expression "(this->fde_offsets_)" ( (field_expression "this->fde_offsets_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base<std" (binary_expression "_unsigned_char>_>_>\n                   ._M_impl._M_finish -\n              (int)(this->fde_offsets_).\n                   super__Vector_base" (field_expression "_unsigned_char>_>_>\n                   ._M_impl._M_finish" (field_expression "_unsigned_char>_>_>\n                   ._M_impl" (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(this->fde_offsets_).\n                   super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->fde_offsets_).\n                   super__Vector_base" (parenthesized_expression "(this->fde_offsets_)" ( (field_expression "this->fde_offsets_" identifier -> field_identifier) )) . field_identifier))) < identifier)) : : (comma_expression "pair<int,_unsigned_char>,_std" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start;" (comma_expression "pair<int,_unsigned_char>_>_>\n                   ._M_impl._M_start" (binary_expression "pair<int" identifier < identifier) , (field_expression "_unsigned_char>_>_>\n                   ._M_impl._M_start" (field_expression "_unsigned_char>_>_>\n                   ._M_impl" (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (ERROR "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0" (binary_expression "pair<unsigned_int" identifier < identifier) , (assignment_expression "_unsigned_int>_>_>\n      ._M_impl._M_start = (pointer)0x0" (field_expression "_unsigned_int>_>_>\n      ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (expression_statement "uVar10 = (int)uVar9 >> 3;" (assignment_expression "uVar10 = (int)uVar9 >> 3" identifier = (binary_expression "(int)uVar9 >> 3" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (ERROR "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0" (binary_expression "pair<unsigned_int" identifier < identifier) , (assignment_expression "_unsigned_int>_>_>\n      ._M_impl._M_finish = (pointer)0x0" (field_expression "_unsigned_int>_>_>\n      ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (expression_statement "*(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;" (assignment_expression "*(uint *)(puVar8 + 8) =\n           uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (pointer_expression "*(uint *)(puVar8 + 8)" * (cast_expression "(uint *)(puVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) )))) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (ERROR "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0" (binary_expression "pair<unsigned_int" identifier < identifier) , (assignment_expression "_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "_unsigned_int>_>_>\n      ._M_impl._M_end_of_storage" (field_expression "_unsigned_int>_>_>\n      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (if_statement "if (0x1fffffff < uVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }" if (parenthesized_expression "(0x1fffffff < uVar10)" ( (binary_expression "0x1fffffff < uVar10" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */\n        std::__throw_length_error("vector::reserve");\n      }" { comment comment (labeled_statement "std::__throw_length_error("vector::reserve");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("vector::reserve");" (call_expression "__throw_length_error("vector::reserve")" identifier (argument_list "("vector::reserve")" ( (string_literal ""vector::reserve"" " string_content ") ))) ;)) })) (if_statement "if (uVar10 != 0) {\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */\n        ppVar11 = (pointer)operator_new(uVar9);\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;\n      }" { comment (expression_statement "ppVar11 = (pointer)operator_new(uVar9);" (assignment_expression "ppVar11 = (pointer)operator_new(uVar9)" identifier = (cast_expression "(pointer)operator_new(uVar9)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))))) ;) (if_statement "if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0)" ( (ERROR "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n            super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0" (field_expression "_unsigned_int>_>_>\n            ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n            ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) )) (compound_statement "{\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);\n        }" { (expression_statement "operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start);" (call_expression "operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start)" identifier (argument_list "(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          ._M_impl._M_start)" ( (binary_expression "fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n                          super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                          super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier (ERROR ">" >) , (ERROR "_std::allocator<std::" identifier : : (binary_expression "allocator<std" identifier < identifier) : :) (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                          ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                          ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (ERROR "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n        super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9);" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9)" (binary_expression "pair<unsigned_int" identifier < identifier) , (assignment_expression "_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)ppVar11 + uVar9)" (field_expression "_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage" (field_expression "_unsigned_int>_>_>\n        ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((int)ppVar11 + uVar9)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)ppVar11 + uVar9)" ( (binary_expression "(int)ppVar11 + uVar9" (cast_expression "(int)ppVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (ERROR "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n        super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11" (binary_expression "pair<unsigned_int" identifier < identifier) , (assignment_expression "_unsigned_int>_>_>\n        ._M_impl._M_finish = ppVar11" (field_expression "_unsigned_int>_>_>\n        ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n        ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)) ;) })) (ERROR "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n      super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (assignment_expression "_unsigned_int>_>_>\n      ._M_impl._M_start =\n           fde_addresses.fde_addresses_.\n           super__Vector_base<std" (field_expression "_unsigned_int>_>_>\n      ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "fde_addresses.fde_addresses_.\n           super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n           super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier))) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n           ._M_impl._M_finish" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n           ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n           ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) comment (expression_statement "get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses);" (comma_expression "get_fde_addresses<32,_true>(this,of,&this->fde_offsets_,&fde_addresses)" (binary_expression "get_fde_addresses<32" identifier < number_literal) , (binary_expression "_true>(this,of,&this->fde_offsets_,&fde_addresses)" identifier > (parenthesized_expression "(this,of,&this->fde_offsets_,&fde_addresses)" ( (comma_expression "this,of,&this->fde_offsets_,&fde_addresses" identifier , (comma_expression "of,&this->fde_offsets_,&fde_addresses" identifier , (comma_expression "&this->fde_offsets_,&fde_addresses" (pointer_expression "&this->fde_offsets_" & (field_expression "this->fde_offsets_" identifier -> field_identifier)) , (pointer_expression "&fde_addresses" & identifier)))) )))) ;) (ERROR "ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int" (assignment_expression "ppVar14 = fde_addresses.fde_addresses_.\n                super__Vector_base<std" identifier = (binary_expression "fde_addresses.fde_addresses_.\n                super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_finish" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n                ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (ERROR "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int" (assignment_expression "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std" identifier = (binary_expression "fde_addresses.fde_addresses_.\n                super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish)" ( (ERROR "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n          super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n          ._M_impl._M_start !=\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "_unsigned_int>_>_>\n          ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n          super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier))) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n          ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n        iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;\n        uVar10 = iVar13 >> 3;\n        uVar9 = 0x1f;\n        if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);\n        if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }\n      }" { (ERROR "iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int" (assignment_expression "iVar13 = (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std" identifier = (binary_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std" (cast_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "fde_addresses.fde_addresses_.\n                      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier)) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std" (binary_expression "_unsigned_int>_>_>\n                      ._M_impl._M_finish -\n                 (int)fde_addresses.fde_addresses_.\n                      super__Vector_base" (field_expression "_unsigned_int>_>_>\n                      ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n                      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "fde_addresses.fde_addresses_.\n                      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier))) < identifier)) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_start" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                      ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (expression_statement "uVar10 = iVar13 >> 3;" (assignment_expression "uVar10 = iVar13 >> 3" identifier = (binary_expression "iVar13 >> 3" identifier >> number_literal)) ;) (expression_statement "uVar9 = 0x1f;" (assignment_expression "uVar9 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar10 != 0) {\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" { (for_statement "for (; uVar10 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }" for ( ; (binary_expression "uVar10 >> uVar9 == 0" (binary_expression "uVar10 >> uVar9" identifier >> identifier) == number_literal) ; (assignment_expression "uVar9 = uVar9 - 1" identifier = (binary_expression "uVar9 - 1" identifier - number_literal)) ) (compound_statement "{\n          }" { })) })) (labeled_statement "std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);" statement_identifier (ERROR "::\n        __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx:" : : (binary_expression "__introsort_loop<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>*,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>,_int,___gnu_cxx" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>,_int,___gnu_cxx" (binary_expression "_unsigned_int>_>_>,_int" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) , identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (labeled_statement "Eh_frame_hdr::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);" statement_identifier (ERROR "::Fde_address_compare<32>_>_>\n                  (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std:" : : (binary_expression "Fde_address_compare<32>_>_" (binary_expression "Fde_address_compare<32>_" (binary_expression "Fde_address_compare<32" identifier < number_literal) > identifier) > identifier) > ( (binary_expression "fde_addresses.fde_addresses_.\n                   super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                   super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>\n                   ._M_impl._M_start,\n                   fde_addresses.fde_addresses_.\n                   super__Vector_base<std" (field_expression "_unsigned_int>_>_>\n                   ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                   ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (binary_expression "fde_addresses.fde_addresses_.\n                   super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                   super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier))) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0);" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>\n                   ._M_impl._M_finish,(0x1f - (uVar9 ^ 0x1f)) * 2,0" (field_expression "_unsigned_int>_>_>\n                   ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n                   ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (comma_expression "(0x1f - (uVar9 ^ 0x1f)) * 2,0" (binary_expression "(0x1f - (uVar9 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar9 ^ 0x1f))" ( (binary_expression "0x1f - (uVar9 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar9 ^ 0x1f)" ( (binary_expression "uVar9 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal) , number_literal))) (ERROR ")" )) ;)))) (if_statement "if (iVar13 < 0x81) {\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }\n        else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }" if (parenthesized_expression "(iVar13 < 0x81)" ( (binary_expression "iVar13 < 0x81" identifier < number_literal) )) (compound_statement "{\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);\n        }" { (labeled_statement "std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);" statement_identifier (ERROR "::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx:" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>*,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>,___gnu_cxx" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (labeled_statement "Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);" statement_identifier : (ERROR ":" :) (expression_statement "Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0);" (binary_expression "Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar14,0)" (binary_expression "Fde_address_compare<32>_>_" (binary_expression "Fde_address_compare<32>_" (binary_expression "Fde_address_compare<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(ppVar11,ppVar14,0)" ( (comma_expression "ppVar11,ppVar14,0" identifier , (comma_expression "ppVar14,0" identifier , number_literal)) ))) ;)))) }) (else_clause "else {\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }" else (compound_statement "{\n          ppVar15 = ppVar11 + 0x10;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);\n          for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }\n        }" { (expression_statement "ppVar15 = ppVar11 + 0x10;" (assignment_expression "ppVar15 = ppVar11 + 0x10" identifier = (binary_expression "ppVar11 + 0x10" identifier + number_literal)) ;) (labeled_statement "std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);" statement_identifier (ERROR "::\n          __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<unsigned_int,_unsigned_int>*,_std::vector<std::pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx:" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>*,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>,___gnu_cxx" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>,___gnu_cxx" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (labeled_statement "Eh_frame_hdr::Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);" statement_identifier : (ERROR ":" :) (expression_statement "Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0);" (binary_expression "Fde_address_compare<32>_>_>\n                    (ppVar11,ppVar15,0)" (binary_expression "Fde_address_compare<32>_>_" (binary_expression "Fde_address_compare<32>_" (binary_expression "Fde_address_compare<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(ppVar11,ppVar15,0)" ( (comma_expression "ppVar11,ppVar15,0" identifier , (comma_expression "ppVar15,0" identifier , number_literal)) ))) ;)))) (for_statement "for (; ppVar14 != ppVar15; ppVar15 = ppVar15 + 1) {\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }" for ( ; (binary_expression "ppVar14 != ppVar15" identifier != identifier) ; (assignment_expression "ppVar15 = ppVar15 + 1" identifier = (binary_expression "ppVar15 + 1" identifier + number_literal)) ) (compound_statement "{\n            uVar9 = ppVar15->first;\n            uVar6 = ppVar15->second;\n            uVar10 = ppVar15[-1].first;\n            ppVar11 = ppVar15;\n            while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }\n            ppVar11->first = uVar9;\n            ppVar11->second = uVar6;\n          }" { (expression_statement "uVar9 = ppVar15->first;" (assignment_expression "uVar9 = ppVar15->first" identifier = (field_expression "ppVar15->first" identifier -> field_identifier)) ;) (expression_statement "uVar6 = ppVar15->second;" (assignment_expression "uVar6 = ppVar15->second" identifier = (field_expression "ppVar15->second" identifier -> field_identifier)) ;) (expression_statement "uVar10 = ppVar15[-1].first;" (assignment_expression "uVar10 = ppVar15[-1].first" identifier = (field_expression "ppVar15[-1].first" (subscript_expression "ppVar15[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "ppVar11 = ppVar15;" (assignment_expression "ppVar11 = ppVar15" identifier = identifier) ;) (while_statement "while (uVar9 < uVar10) {\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }" while (parenthesized_expression "(uVar9 < uVar10)" ( (binary_expression "uVar9 < uVar10" identifier < identifier) )) (compound_statement "{\n              ppVar11->first = uVar10;\n              ppVar11->second = ppVar11[-1].second;\n              uVar10 = ppVar11[-2].first;\n              ppVar11 = ppVar11 + -1;\n            }" { (expression_statement "ppVar11->first = uVar10;" (assignment_expression "ppVar11->first = uVar10" (field_expression "ppVar11->first" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar11->second = ppVar11[-1].second;" (assignment_expression "ppVar11->second = ppVar11[-1].second" (field_expression "ppVar11->second" identifier -> field_identifier) = (field_expression "ppVar11[-1].second" (subscript_expression "ppVar11[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar10 = ppVar11[-2].first;" (assignment_expression "uVar10 = ppVar11[-2].first" identifier = (field_expression "ppVar11[-2].first" (subscript_expression "ppVar11[-2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "ppVar11 = ppVar11 + -1;" (assignment_expression "ppVar11 = ppVar11 + -1" identifier = (binary_expression "ppVar11 + -1" identifier + number_literal)) ;) })) (expression_statement "ppVar11->first = uVar9;" (assignment_expression "ppVar11->first = uVar9" (field_expression "ppVar11->first" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar11->second = uVar6;" (assignment_expression "ppVar11->second = uVar6" (field_expression "ppVar11->second" identifier -> field_identifier) = identifier) ;) })) }))) })) (if_statement "if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "(((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0)" ( (binary_expression "((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0" (parenthesized_expression "((this->super_Output_section_data).super_Output_data.field_0x1c & 1)" ( (binary_expression "(this->super_Output_section_data).super_Output_data.field_0x1c & 1" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x1c" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (expression_statement "iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_;" (assignment_expression "iVar13 = (int)(this->super_Output_section_data).super_Output_data.address_" identifier = (cast_expression "(int)(this->super_Output_section_data).super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Output_section_data).super_Output_data.address_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "puVar12 = (uint *)(puVar8 + 0xc);" (assignment_expression "puVar12 = (uint *)(puVar8 + 0xc)" identifier = (cast_expression "(uint *)(puVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xc)" ( (binary_expression "puVar8 + 0xc" identifier + number_literal) )))) ;) (ERROR "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std::pair<unsigned_int" (assignment_expression "ppVar11 = fde_addresses.fde_addresses_.\n                super__Vector_base<std" identifier = (binary_expression "fde_addresses.fde_addresses_.\n                super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                ._M_impl._M_start" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish) {\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }\n      else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish)" ( (ERROR "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n          super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n          ._M_impl._M_start ==\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "_unsigned_int>_>_>\n          ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n          super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier))) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_finish" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n          ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n        uVar9 = 0xc;\n        iVar13 = 0;\n      }" { (expression_statement "uVar9 = 0xc;" (assignment_expression "uVar9 = 0xc" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }" else (compound_statement "{\n        do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);\n        uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;\n        iVar13 = (int)uVar9 >> 0x1f;\n      }" { (do_statement "do {\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        } while (fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14);" do (compound_statement "{\n          ppVar14 = ppVar11 + 1;\n          uVar9 = ppVar11->first - iVar13;\n          *puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;\n          uVar9 = ppVar11->second - iVar13;\n          puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;\n          puVar12 = puVar12 + 2;\n          ppVar11 = ppVar14;\n        }" { (expression_statement "ppVar14 = ppVar11 + 1;" (assignment_expression "ppVar14 = ppVar11 + 1" identifier = (binary_expression "ppVar11 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = ppVar11->first - iVar13;" (assignment_expression "uVar9 = ppVar11->first - iVar13" identifier = (binary_expression "ppVar11->first - iVar13" (field_expression "ppVar11->first" identifier -> field_identifier) - identifier)) ;) (expression_statement "*puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000;" (assignment_expression "*puVar12 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000" (pointer_expression "*puVar12" * identifier) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                     uVar9 * 0x1000000" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 * 0x1000000" identifier * number_literal))) ;) (expression_statement "uVar9 = ppVar11->second - iVar13;" (assignment_expression "uVar9 = ppVar11->second - iVar13" identifier = (binary_expression "ppVar11->second - iVar13" (field_expression "ppVar11->second" identifier -> field_identifier) - identifier)) ;) (expression_statement "puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000;" (assignment_expression "puVar12[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 * 0x1000000" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar12 = puVar12 + 2;" (assignment_expression "puVar12 = puVar12 + 2" identifier = (binary_expression "puVar12 + 2" identifier + number_literal)) ;) (expression_statement "ppVar11 = ppVar14;" (assignment_expression "ppVar11 = ppVar14" identifier = identifier) ;) }) while (parenthesized_expression "(fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14)" ( (ERROR "fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n                 super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                 super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                 ._M_impl._M_finish != ppVar14" (field_expression "_unsigned_int>_>_>\n                 ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n                 ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier)) )) ;) (expression_statement "uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;" (assignment_expression "uVar9 = ((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14" identifier = (binary_expression "((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U) + 0x14" (parenthesized_expression "((int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U)" ( (ERROR "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std::pair<unsigned_int" (binary_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base<std" (cast_expression "(int)fde_addresses.fde_addresses_.\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "fde_addresses.fde_addresses_.\n                      super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier)) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start) & 0xfffffff8U" (binary_expression "_unsigned_int>_>_>\n                      ._M_impl._M_finish +\n                 (-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start)" (field_expression "_unsigned_int>_>_>\n                      ._M_impl._M_finish" (field_expression "_unsigned_int>_>_>\n                      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (parenthesized_expression "(-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start)" ( (ERROR "-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<unsigned_int" (binary_expression "-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base<std" (binary_expression "-8 - (int)fde_addresses.fde_addresses_.\n                            super__Vector_base" number_literal - (cast_expression "(int)fde_addresses.fde_addresses_.\n                            super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "fde_addresses.fde_addresses_.\n                            super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier))) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                            ._M_impl._M_start" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                            ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                            ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ))) & number_literal)) )) + number_literal)) ;) (expression_statement "iVar13 = (int)uVar9 >> 0x1f;" (assignment_expression "iVar13 = (int)uVar9 >> 0x1f" identifier = (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) }))) (if_statement "if (iVar4 != iVar13 || uVar3 != uVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }" if (parenthesized_expression "(iVar4 != iVar13 || uVar3 != uVar9)" ( (binary_expression "iVar4 != iVar13 || uVar3 != uVar9" (binary_expression "iVar4 != iVar13" identifier != identifier) || (binary_expression "uVar3 != uVar9" identifier != identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */\n        do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");" (call_expression "do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write")" identifier (argument_list "("../../gold/ehframe.cc",0xd1,"do_sized_write")" ( (string_literal ""../../gold/ehframe.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") ))) ;) })) (if_statement "if (fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0)" ( (ERROR "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n          super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n          ._M_impl._M_start != (pointer)0x0" (field_expression "_unsigned_int>_>_>\n          ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) )) (compound_statement "{\n        operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);\n        return;\n      }" { (expression_statement "operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start);" (call_expression "operator_delete(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start)" identifier (argument_list "(fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                        ._M_impl._M_start)" ( (binary_expression "fde_addresses.fde_addresses_.\n                        super__Vector_base<std::pair<unsigned_int" (binary_expression "fde_addresses.fde_addresses_.\n                        super__Vector_base<std" (field_expression "fde_addresses.fde_addresses_.\n                        super__Vector_base" (field_expression "fde_addresses.fde_addresses_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier (ERROR ">" >) , (ERROR "_std::allocator<std::" identifier : : (binary_expression "allocator<std" identifier < identifier) : :) (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                        ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n                        ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      puVar8[2] = 0xff;\n      puVar8[3] = 0xff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }\n    }" else (compound_statement "{\n      puVar8[2] = 0xff;\n      puVar8[3] = 0xff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }\n    }" { (expression_statement "puVar8[2] = 0xff;" (assignment_expression "puVar8[2] = 0xff" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[3] = 0xff;" (assignment_expression "puVar8[3] = 0xff" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar4 != 0 || uVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }" if (parenthesized_expression "(iVar4 != 0 || uVar3 != 8)" ( (binary_expression "iVar4 != 0 || uVar3 != 8" (binary_expression "iVar4 != 0" identifier != number_literal) || (binary_expression "uVar3 != 8" identifier != number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");" (call_expression "do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write")" identifier (argument_list "("../../gold/ehframe.cc",0xaa,"do_sized_write")" ( (string_literal ""../../gold/ehframe.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") ))) ;) })) }))) (return_statement "return;" return ;) })) comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) (ERROR "}" }))
(translation_unit "void FUN_00388610(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}\n\n" (function_definition "void FUN_00388610(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}" primitive_type (function_declarator "FUN_00388610(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined2 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint extraout_EDX_00;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint extraout_EDX_01;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }" { (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",bVar1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar7 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }" { (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1)" identifier (argument_list "("../../gold/output.h",0xcf,"data_size",bVar1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar3 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }" if (parenthesized_expression "((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0))" ( (binary_expression "(*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)" (parenthesized_expression "(*(int *)(param_1 + 0x18) < 0)" ( (binary_expression "*(int *)(param_1 + 0x18) < 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) < number_literal) )) || (parenthesized_expression "(iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)" ( (comma_expression "iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7)" identifier = (binary_expression "*(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7)" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar3,uVar7)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3,uVar7)" identifier (argument_list "(uVar3,uVar7)" ( identifier , identifier )))))) , (comma_expression "uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar3 + uVar7)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar3 + uVar7" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar3 + uVar7" identifier + identifier)) )))) , (comma_expression "iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "iVar8 = *(int *)(param_2 + 0xc) - iVar10" identifier = (binary_expression "*(int *)(param_2 + 0xc) - iVar10" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar10)" identifier (argument_list "(*(int *)(param_2 + 0xc),iVar10)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar8,uVar11)" identifier (argument_list "(iVar8,uVar11)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar8 - uVar11) < 0" (cast_expression "(int)(iVar8 - uVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 - uVar11)" ( (binary_expression "iVar8 - uVar11" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }" { (expression_statement "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);" (call_expression "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",param_1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;) })) (expression_statement "puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));" (assignment_expression "puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10))" identifier = (cast_expression "(undefined2 *)(uVar7 + *(int *)(param_2 + 0x10))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + *(int *)(param_2 + 0x10))" ( (binary_expression "uVar7 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar6 = 0x1b01;" (assignment_expression "*puVar6 = 0x1b01" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (if_statement "if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }" if (parenthesized_expression "(((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0))" ( (binary_expression "((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)" (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1)" ( (binary_expression "*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x2c) + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x2c) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }" { (expression_statement "uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;" (assignment_expression "uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4" identifier = (binary_expression "(*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4" (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4))" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x2c) + 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x2c) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 4)" ( (binary_expression "*(int *)(param_1 + 0x2c) + 4" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) )) - number_literal)) ;) (expression_statement "cVar2 = *(char *)(param_1 + 0x40);" (assignment_expression "cVar2 = *(char *)(param_1 + 0x40)" identifier = (pointer_expression "*(char *)(param_1 + 0x40)" * (cast_expression "(char *)(param_1 + 0x40)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;" (assignment_expression "*(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (pointer_expression "*(uint *)(puVar6 + 2)" * (cast_expression "(uint *)(puVar6 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 2)" ( (binary_expression "puVar6 + 2" identifier + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 * 0x1000000" identifier * number_literal))) ;) (if_statement "if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" if (parenthesized_expression "((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34)))" ( (binary_expression "(cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))" (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))" ( (binary_expression "*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) != (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }" { (expression_statement "puVar6[1] = 0x3b03;" (assignment_expression "puVar6[1] = 0x3b03" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);" (assignment_expression "iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34)" identifier = (binary_expression "*(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))))) ;) (expression_statement "local_28 = (uint *)0x0;" (assignment_expression "local_28 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = iVar8 >> 3;" (assignment_expression "uVar7 = iVar8 >> 3" identifier = (binary_expression "iVar8 >> 3" identifier >> number_literal)) ;) (expression_statement "local_24 = (uint *)0x0;" (assignment_expression "local_24 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(puVar6 + 4)" * (cast_expression "(uint *)(puVar6 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (if_statement "if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }" if (parenthesized_expression "(0x1fffffff < uVar7)" ( (binary_expression "0x1fffffff < uVar7" number_literal < identifier) )) (compound_statement "{\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }" { (expression_statement "FUN_003f3a70("vector::reserve");" (call_expression "FUN_003f3a70("vector::reserve")" identifier (argument_list "("vector::reserve")" ( (string_literal ""vector::reserve"" " string_content ") ))) ;) })) (if_statement "if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }" { (expression_statement "puVar9 = (uint *)FUN_003ac4d0(iVar8);" (assignment_expression "puVar9 = (uint *)FUN_003ac4d0(iVar8)" identifier = (cast_expression "(uint *)FUN_003ac4d0(iVar8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))))) ;) (if_statement "if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }" if (parenthesized_expression "(local_28 != (uint *)0x0)" ( (binary_expression "local_28 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_003ae080(local_28);\n        }" { (expression_statement "FUN_003ae080(local_28);" (call_expression "FUN_003ae080(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) })) (expression_statement "local_20 = (int)puVar9 + iVar8;" (assignment_expression "local_20 = (int)puVar9 + iVar8" identifier = (binary_expression "(int)puVar9 + iVar8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "local_24 = puVar9;" (assignment_expression "local_24 = puVar9" identifier = identifier) ;) })) (expression_statement "local_28 = local_24;" (assignment_expression "local_28 = local_24" identifier = identifier) ;) (expression_statement "FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);" (call_expression "FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28)" identifier (argument_list "(param_1,param_2,param_1 + 0x34,&local_28)" ( identifier , identifier , (binary_expression "param_1 + 0x34" identifier + number_literal) , (pointer_expression "&local_28" & identifier) ))) ;) (expression_statement "puVar12 = local_24;" (assignment_expression "puVar12 = local_24" identifier = identifier) ;) (expression_statement "puVar9 = local_28;" (assignment_expression "puVar9 = local_28" identifier = identifier) ;) (expression_statement "uVar7 = extraout_EDX;" (assignment_expression "uVar7 = extraout_EDX" identifier = identifier) ;) (if_statement "if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }" if (parenthesized_expression "(local_28 != local_24)" ( (binary_expression "local_28 != local_24" identifier != identifier) )) (compound_statement "{\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }" { (expression_statement "iVar8 = (int)local_24 - (int)local_28;" (assignment_expression "iVar8 = (int)local_24 - (int)local_28" identifier = (binary_expression "(int)local_24 - (int)local_28" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar11 = iVar8 >> 3;" (assignment_expression "uVar11 = iVar8 >> 3" identifier = (binary_expression "iVar8 >> 3" identifier >> number_literal)) ;) (expression_statement "uVar7 = 0x1f;" (assignment_expression "uVar7 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }" { (for_statement "for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }" for ( ; (binary_expression "uVar11 >> uVar7 == 0" (binary_expression "uVar11 >> uVar7" identifier >> identifier) == number_literal) ; (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ) (compound_statement "{\n          }" { })) })) (expression_statement "FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);" (call_expression "FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0)" identifier (argument_list "(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0)" ( identifier , identifier , (binary_expression "(0x1f - (uVar7 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar7 ^ 0x1f))" ( (binary_expression "0x1f - (uVar7 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar7 ^ 0x1f)" ( (binary_expression "uVar7 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal) , number_literal ))) ;) (if_statement "if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" if (parenthesized_expression "(iVar8 < 0x81)" ( (binary_expression "iVar8 < 0x81" identifier < number_literal) )) (compound_statement "{\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }" { (expression_statement "FUN_00383b70(puVar9,puVar12,0);" (call_expression "FUN_00383b70(puVar9,puVar12,0)" identifier (argument_list "(puVar9,puVar12,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar7 = extraout_EDX_01;" (assignment_expression "uVar7 = extraout_EDX_01" identifier = identifier) ;) }) (else_clause "else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" else (compound_statement "{\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" { (expression_statement "puVar13 = puVar9 + 0x20;" (assignment_expression "puVar13 = puVar9 + 0x20" identifier = (binary_expression "puVar9 + 0x20" identifier + number_literal)) ;) (expression_statement "FUN_00383b70(puVar9,puVar13,0);" (call_expression "FUN_00383b70(puVar9,puVar13,0)" identifier (argument_list "(puVar9,puVar13,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar7 = extraout_EDX_00;" (assignment_expression "uVar7 = extraout_EDX_00" identifier = identifier) ;) (for_statement "for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }" for ( ; (binary_expression "puVar12 != puVar13" identifier != identifier) ; (assignment_expression "puVar13 = puVar13 + 2" identifier = (binary_expression "puVar13 + 2" identifier + number_literal)) ) (compound_statement "{\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }" { (expression_statement "uVar11 = *puVar13;" (assignment_expression "uVar11 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar5 = puVar13[1];" (assignment_expression "uVar5 = puVar13[1]" identifier = (subscript_expression "puVar13[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar13[-2];" (assignment_expression "uVar7 = puVar13[-2]" identifier = (subscript_expression "puVar13[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar9 = puVar13;" (assignment_expression "puVar9 = puVar13" identifier = identifier) ;) (while_statement "while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }" while (parenthesized_expression "(uVar11 < uVar7)" ( (binary_expression "uVar11 < uVar7" identifier < identifier) )) (compound_statement "{\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }" { (expression_statement "*puVar9 = uVar7;" (assignment_expression "*puVar9 = uVar7" (pointer_expression "*puVar9" * identifier) = identifier) ;) (expression_statement "puVar9[1] = puVar9[-1];" (assignment_expression "puVar9[1] = puVar9[-1]" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (subscript_expression "puVar9[-1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar9[-4];" (assignment_expression "uVar7 = puVar9[-4]" identifier = (subscript_expression "puVar9[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar9 = puVar9 + -2;" (assignment_expression "puVar9 = puVar9 + -2" identifier = (binary_expression "puVar9 + -2" identifier + number_literal)) ;) })) (expression_statement "*puVar9 = uVar11;" (assignment_expression "*puVar9 = uVar11" (pointer_expression "*puVar9" * identifier) = identifier) ;) (expression_statement "puVar9[1] = uVar5;" (assignment_expression "puVar9[1] = uVar5" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = identifier) ;) })) }))) })) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }" { (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar7)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar8 = *(int *)(param_1 + 4);" (assignment_expression "iVar8 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar9 = (uint *)(puVar6 + 6);" (assignment_expression "puVar9 = (uint *)(puVar6 + 6)" identifier = (cast_expression "(uint *)(puVar6 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 6)" ( (binary_expression "puVar6 + 6" identifier + number_literal) )))) ;) (expression_statement "puVar12 = local_28;" (assignment_expression "puVar12 = local_28" identifier = identifier) ;) (if_statement "if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" if (parenthesized_expression "(local_28 == local_24)" ( (binary_expression "local_28 == local_24" identifier == identifier) )) (compound_statement "{\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }" { (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" else (compound_statement "{\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" { (do_statement "do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);" do (compound_statement "{\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        }" { (expression_statement "puVar13 = puVar12 + 2;" (assignment_expression "puVar13 = puVar12 + 2" identifier = (binary_expression "puVar12 + 2" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar12 - iVar8;" (assignment_expression "uVar7 = *puVar12 - iVar8" identifier = (binary_expression "*puVar12 - iVar8" (pointer_expression "*puVar12" * identifier) - identifier)) ;) (expression_statement "*puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;" (assignment_expression "*puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 * 0x1000000" identifier * number_literal))) ;) (expression_statement "uVar7 = puVar12[1] - iVar8;" (assignment_expression "uVar7 = puVar12[1] - iVar8" identifier = (binary_expression "puVar12[1] - iVar8" (subscript_expression "puVar12[1]" identifier [ number_literal ]) - identifier)) ;) (expression_statement "puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;" (assignment_expression "puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar9 = puVar9 + 2;" (assignment_expression "puVar9 = puVar9 + 2" identifier = (binary_expression "puVar9 + 2" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "(local_24 != puVar13)" ( (binary_expression "local_24 != puVar13" identifier != identifier) )) ;) (expression_statement "uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;" (assignment_expression "uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14" identifier = (binary_expression "((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14" (parenthesized_expression "((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U)" ( (binary_expression "(int)local_24 + (-8 - (int)local_28) & 0xfffffff8U" (binary_expression "(int)local_24 + (-8 - (int)local_28)" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-8 - (int)local_28)" ( (binary_expression "-8 - (int)local_28" number_literal - (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )) + number_literal)) ;) (expression_statement "iVar8 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar8 = (int)uVar7 >> 0x1f" identifier = (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) }))) (if_statement "if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }" if (parenthesized_expression "(iVar4 != iVar8 || (uVar3 ^ uVar7) != 0)" ( (binary_expression "iVar4 != iVar8 || (uVar3 ^ uVar7) != 0" (binary_expression "iVar4 != iVar8" identifier != identifier) || (binary_expression "(uVar3 ^ uVar7) != 0" (parenthesized_expression "(uVar3 ^ uVar7)" ( (binary_expression "uVar3 ^ uVar7" identifier ^ identifier) )) != number_literal)) )) (compound_statement "{\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }" { (expression_statement "FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);" (call_expression "FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7)" identifier (argument_list "("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7)" ( (string_literal ""../../gold/ehframe.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , (binary_expression "uVar3 ^ uVar7" identifier ^ identifier) ))) ;) })) (if_statement "if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }" if (parenthesized_expression "(local_28 != (uint *)0x0)" ( (binary_expression "local_28 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_003ae080(local_28);\n        return;\n      }" { (expression_statement "FUN_003ae080(local_28);" (call_expression "FUN_003ae080(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" else (compound_statement "{\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" { (expression_statement "puVar6[1] = 0xffff;" (assignment_expression "puVar6[1] = 0xffff" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }" if (parenthesized_expression "(iVar4 != 0 || uVar3 != 8)" ( (binary_expression "iVar4 != 0 || uVar3 != 8" (binary_expression "iVar4 != 0" identifier != number_literal) || (binary_expression "uVar3 != 8" identifier != number_literal)) )) (compound_statement "{\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }" { (expression_statement "FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);" (call_expression "FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3)" identifier (argument_list "("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3)" ( (string_literal ""../../gold/ehframe.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , identifier ))) ;) })) }))) (return_statement "return;" return ;) })) (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar3)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT))))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( ; (binary_expression (binary_expression IDENT >> IDENT) == LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) * LIT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_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 ( IDENT ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) }))) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })))
(function_definition "void FUN_00388610(int param_1,int param_2)\n\n{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}" (primitive_type "void") (function_declarator "FUN_00388610(int param_1,int param_2)" (identifier "FUN_00388610") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  undefined2 *puVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  int iVar10;\n  uint extraout_EDX;\n  uint uVar11;\n  uint extraout_EDX_00;\n  uint *puVar12;\n  uint extraout_EDX_01;\n  uint *puVar13;\n  uint *local_28;\n  uint *local_24;\n  int local_20;\n  \n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }\n  uVar7 = *(uint *)(param_1 + 0x14);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }\n  uVar3 = *(uint *)(param_1 + 0xc);\n  iVar4 = *(int *)(param_1 + 0x10);\n  if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }\n  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));\n  *puVar6 = 0x1b01;\n  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined2 *puVar6;" (type_identifier "undefined2") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint *puVar9;" (type_identifier "uint") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint extraout_EDX;" (type_identifier "uint") (identifier "extraout_EDX") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint extraout_EDX_00;" (type_identifier "uint") (identifier "extraout_EDX_00") (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint extraout_EDX_01;" (type_identifier "uint") (identifier "extraout_EDX_01") (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "uint *local_28;" (type_identifier "uint") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "uint *local_24;" (type_identifier "uint") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }" (if "if") (parenthesized_expression "((bVar1 & 4) == 0)" (( "(") (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xe3,"offset",bVar1)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) (, ",") (identifier "bVar1") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 2) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }" (if "if") (parenthesized_expression "((bVar1 & 2) == 0)" (( "(") (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xcf,"data_size",bVar1)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) (, ",") (identifier "bVar1") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar3 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)) {\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0))" (( "(") (binary_expression "(*(int *)(param_1 + 0x18) < 0) ||\n     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)" (parenthesized_expression "(*(int *)(param_1 + 0x18) < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) < 0" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0)" (( "(") (comma_expression "iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),\n     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7)" (identifier "iVar10") (= "=") (binary_expression "*(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7)" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4(uVar3,uVar7)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar3,uVar7)" (identifier "CARRY4") (argument_list "(uVar3,uVar7)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar7") () ")")))))) (, ",") (comma_expression "uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),\n     iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7)" (identifier "uVar11") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar3 + uVar7)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar3 + uVar7" (pointer_expression "*(uint *)(param_2 + 8)" (* "*") (cast_expression "(uint *)(param_2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "uVar3 + uVar7" (identifier "uVar3") (+ "+") (identifier "uVar7"))) () ")")))) (, ",") (comma_expression "iVar8 = *(int *)(param_2 + 0xc) - iVar10,\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (assignment_expression "iVar8 = *(int *)(param_2 + 0xc) - iVar10" (identifier "iVar8") (= "=") (binary_expression "*(int *)(param_2 + 0xc) - iVar10" (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "iVar10"))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=\n     (int)(iVar8 - uVar11) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11))" (( "(") (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar10)" (identifier "SBORROW4") (argument_list "(*(int *)(param_2 + 0xc),iVar10)" (( "(") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar10") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar8,uVar11)" (identifier "SBORROW4") (argument_list "(iVar8,uVar11)" (( "(") (identifier "iVar8") (, ",") (identifier "uVar11") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar8 - uVar11) < 0" (cast_expression "(int)(iVar8 - uVar11)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar8 - uVar11)" (( "(") (binary_expression "iVar8 - uVar11" (identifier "iVar8") (- "-") (identifier "uVar11")) () ")"))) (< "<") (number_literal "0")))))) () ")"))) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);" (call_expression "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0x6f,"get_output_view",param_1)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x6f") (, ",") (string_literal ""get_output_view"" (" """) (string_content "get_output_view") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));" (assignment_expression "puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10))" (identifier "puVar6") (= "=") (cast_expression "(undefined2 *)(uVar7 + *(int *)(param_2 + 0x10))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 + *(int *)(param_2 + 0x10))" (( "(") (binary_expression "uVar7 + *(int *)(param_2 + 0x10)" (identifier "uVar7") (+ "+") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) () ")")))) (; ";")) (expression_statement "*puVar6 = 0x1b01;" (assignment_expression "*puVar6 = 0x1b01" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0x1b01")) (; ";")) (if_statement "if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0))" (( "(") (binary_expression "((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&\n     ((*(byte *)(param_1 + 0x1c) & 1) != 0)" (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c)" (* "*") (cast_expression "(byte *)(*(int *)(param_1 + 0x2c) + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 0x1c)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;\n    cVar2 = *(char *)(param_1 + 0x40);\n    *(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }\n    return;\n  }" ({ "{") (expression_statement "uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;" (assignment_expression "uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4" (identifier "uVar7") (= "=") (binary_expression "(*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4" (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4))" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x2c) + 4)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x2c) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + 4" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) () ")")) (- "-") (number_literal "4"))) (; ";")) (expression_statement "cVar2 = *(char *)(param_1 + 0x40);" (assignment_expression "cVar2 = *(char *)(param_1 + 0x40)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(param_1 + 0x40)" (* "*") (cast_expression "(char *)(param_1 + 0x40)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;" (assignment_expression "*(uint *)(puVar6 + 2) =\n         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (pointer_expression "*(uint *)(puVar6 + 2)" (* "*") (cast_expression "(uint *)(puVar6 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 2)" (( "(") (binary_expression "puVar6 + 2" (identifier "puVar6") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 * 0x1000000" (identifier "uVar7") (* "*") (number_literal "0x1000000")))) (; ";")) (if_statement "if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }\n    else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" (if "if") (parenthesized_expression "((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34)))" (( "(") (binary_expression "(cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))" (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))" (( "(") (binary_expression "*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n      puVar6[1] = 0x3b03;\n      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);\n      local_28 = (uint *)0x0;\n      uVar7 = iVar8 >> 3;\n      local_24 = (uint *)0x0;\n      *(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      local_20 = 0;\n      if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }\n      if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }\n      local_28 = local_24;\n                    \n      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);\n      puVar12 = local_24;\n      puVar9 = local_28;\n      uVar7 = extraout_EDX;\n      if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }\n      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }\n      iVar8 = *(int *)(param_1 + 4);\n      puVar9 = (uint *)(puVar6 + 6);\n      puVar12 = local_28;\n      if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }\n      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }\n      if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }\n    }" ({ "{") (expression_statement "puVar6[1] = 0x3b03;" (assignment_expression "puVar6[1] = 0x3b03" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x3b03")) (; ";")) (expression_statement "iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);" (assignment_expression "iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34)" (identifier "iVar8") (= "=") (binary_expression "*(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34)" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))))) (; ";")) (expression_statement "local_28 = (uint *)0x0;" (assignment_expression "local_28 = (uint *)0x0" (identifier "local_28") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar7 = iVar8 >> 3;" (assignment_expression "uVar7 = iVar8 >> 3" (identifier "uVar7") (= "=") (binary_expression "iVar8 >> 3" (identifier "iVar8") (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "local_24 = (uint *)0x0;" (assignment_expression "local_24 = (uint *)0x0" (identifier "local_24") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(puVar6 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(puVar6 + 4)" (* "*") (cast_expression "(uint *)(puVar6 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 4)" (( "(") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 << 0x18" (identifier "uVar7") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0x1fffffff < uVar7) {\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }" (if "if") (parenthesized_expression "(0x1fffffff < uVar7)" (( "(") (binary_expression "0x1fffffff < uVar7" (number_literal "0x1fffffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n                    \n                    \n        FUN_003f3a70("vector::reserve");\n      }" ({ "{") (expression_statement "FUN_003f3a70("vector::reserve");" (call_expression "FUN_003f3a70("vector::reserve")" (identifier "FUN_003f3a70") (argument_list "("vector::reserve")" (( "(") (string_literal ""vector::reserve"" (" """) (string_content "vector::reserve") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar7 != 0) {\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        puVar9 = (uint *)FUN_003ac4d0(iVar8);\n        if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }\n        local_20 = (int)puVar9 + iVar8;\n        local_24 = puVar9;\n      }" ({ "{") (expression_statement "puVar9 = (uint *)FUN_003ac4d0(iVar8);" (assignment_expression "puVar9 = (uint *)FUN_003ac4d0(iVar8)" (identifier "puVar9") (= "=") (cast_expression "(uint *)FUN_003ac4d0(iVar8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(iVar8)" (identifier "FUN_003ac4d0") (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))))) (; ";")) (if_statement "if (local_28 != (uint *)0x0) {\n          FUN_003ae080(local_28);\n        }" (if "if") (parenthesized_expression "(local_28 != (uint *)0x0)" (( "(") (binary_expression "local_28 != (uint *)0x0" (identifier "local_28") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_003ae080(local_28);\n        }" ({ "{") (expression_statement "FUN_003ae080(local_28);" (call_expression "FUN_003ae080(local_28)" (identifier "FUN_003ae080") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (} "}"))) (expression_statement "local_20 = (int)puVar9 + iVar8;" (assignment_expression "local_20 = (int)puVar9 + iVar8" (identifier "local_20") (= "=") (binary_expression "(int)puVar9 + iVar8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "local_24 = puVar9;" (assignment_expression "local_24 = puVar9" (identifier "local_24") (= "=") (identifier "puVar9")) (; ";")) (} "}"))) (expression_statement "local_28 = local_24;" (assignment_expression "local_28 = local_24" (identifier "local_28") (= "=") (identifier "local_24")) (; ";")) (expression_statement "FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);" (call_expression "FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28)" (identifier "FUN_00382310") (argument_list "(param_1,param_2,param_1 + 0x34,&local_28)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")"))) (; ";")) (expression_statement "puVar12 = local_24;" (assignment_expression "puVar12 = local_24" (identifier "puVar12") (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar9 = local_28;" (assignment_expression "puVar9 = local_28" (identifier "puVar9") (= "=") (identifier "local_28")) (; ";")) (expression_statement "uVar7 = extraout_EDX;" (assignment_expression "uVar7 = extraout_EDX" (identifier "uVar7") (= "=") (identifier "extraout_EDX")) (; ";")) (if_statement "if (local_28 != local_24) {\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(local_28 != local_24)" (( "(") (binary_expression "local_28 != local_24" (identifier "local_28") (!= "!=") (identifier "local_24")) () ")")) (compound_statement "{\n        iVar8 = (int)local_24 - (int)local_28;\n        uVar11 = iVar8 >> 3;\n        uVar7 = 0x1f;\n        if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }\n        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);\n        if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar8 = (int)local_24 - (int)local_28;" (assignment_expression "iVar8 = (int)local_24 - (int)local_28" (identifier "iVar8") (= "=") (binary_expression "(int)local_24 - (int)local_28" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (- "-") (cast_expression "(int)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_28")))) (; ";")) (expression_statement "uVar11 = iVar8 >> 3;" (assignment_expression "uVar11 = iVar8 >> 3" (identifier "uVar11") (= "=") (binary_expression "iVar8 >> 3" (identifier "iVar8") (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "uVar7 = 0x1f;" (assignment_expression "uVar7 = 0x1f" (identifier "uVar7") (= "=") (number_literal "0x1f")) (; ";")) (if_statement "if (uVar11 != 0) {\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }\n        }" ({ "{") (for_statement "for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {\n          }" (for "for") (( "(") (; ";") (binary_expression "uVar11 >> uVar7 == 0" (binary_expression "uVar11 >> uVar7" (identifier "uVar11") (>> ">>") (identifier "uVar7")) (== "==") (number_literal "0")) (; ";") (assignment_expression "uVar7 = uVar7 - 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 - 1" (identifier "uVar7") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n          }" ({ "{") (} "}"))) (} "}"))) (expression_statement "FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);" (call_expression "FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0)" (identifier "FUN_00388420") (argument_list "(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0)" (( "(") (identifier "local_28") (, ",") (identifier "local_24") (, ",") (binary_expression "(0x1f - (uVar7 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar7 ^ 0x1f))" (( "(") (binary_expression "0x1f - (uVar7 ^ 0x1f)" (number_literal "0x1f") (- "-") (parenthesized_expression "(uVar7 ^ 0x1f)" (( "(") (binary_expression "uVar7 ^ 0x1f" (identifier "uVar7") (^ "^") (number_literal "0x1f")) () ")"))) () ")")) (* "*") (number_literal "2")) (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (iVar8 < 0x81) {\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }\n        else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" (if "if") (parenthesized_expression "(iVar8 < 0x81)" (( "(") (binary_expression "iVar8 < 0x81" (identifier "iVar8") (< "<") (number_literal "0x81")) () ")")) (compound_statement "{\n          FUN_00383b70(puVar9,puVar12,0);\n          uVar7 = extraout_EDX_01;\n        }" ({ "{") (expression_statement "FUN_00383b70(puVar9,puVar12,0);" (call_expression "FUN_00383b70(puVar9,puVar12,0)" (identifier "FUN_00383b70") (argument_list "(puVar9,puVar12,0)" (( "(") (identifier "puVar9") (, ",") (identifier "puVar12") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar7 = extraout_EDX_01;" (assignment_expression "uVar7 = extraout_EDX_01" (identifier "uVar7") (= "=") (identifier "extraout_EDX_01")) (; ";")) (} "}")) (else_clause "else {\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" (else "else") (compound_statement "{\n          puVar13 = puVar9 + 0x20;\n          FUN_00383b70(puVar9,puVar13,0);\n          uVar7 = extraout_EDX_00;\n          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }\n        }" ({ "{") (expression_statement "puVar13 = puVar9 + 0x20;" (assignment_expression "puVar13 = puVar9 + 0x20" (identifier "puVar13") (= "=") (binary_expression "puVar9 + 0x20" (identifier "puVar9") (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "FUN_00383b70(puVar9,puVar13,0);" (call_expression "FUN_00383b70(puVar9,puVar13,0)" (identifier "FUN_00383b70") (argument_list "(puVar9,puVar13,0)" (( "(") (identifier "puVar9") (, ",") (identifier "puVar13") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar7 = extraout_EDX_00;" (assignment_expression "uVar7 = extraout_EDX_00" (identifier "uVar7") (= "=") (identifier "extraout_EDX_00")) (; ";")) (for_statement "for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }" (for "for") (( "(") (; ";") (binary_expression "puVar12 != puVar13" (identifier "puVar12") (!= "!=") (identifier "puVar13")) (; ";") (assignment_expression "puVar13 = puVar13 + 2" (identifier "puVar13") (= "=") (binary_expression "puVar13 + 2" (identifier "puVar13") (+ "+") (number_literal "2"))) () ")") (compound_statement "{\n            uVar11 = *puVar13;\n            uVar5 = puVar13[1];\n            uVar7 = puVar13[-2];\n            puVar9 = puVar13;\n            while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }\n            *puVar9 = uVar11;\n            puVar9[1] = uVar5;\n          }" ({ "{") (expression_statement "uVar11 = *puVar13;" (assignment_expression "uVar11 = *puVar13" (identifier "uVar11") (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "uVar5 = puVar13[1];" (assignment_expression "uVar5 = puVar13[1]" (identifier "uVar5") (= "=") (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = puVar13[-2];" (assignment_expression "uVar7 = puVar13[-2]" (identifier "uVar7") (= "=") (subscript_expression "puVar13[-2]" (identifier "puVar13") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "puVar9 = puVar13;" (assignment_expression "puVar9 = puVar13" (identifier "puVar9") (= "=") (identifier "puVar13")) (; ";")) (while_statement "while (uVar11 < uVar7) {\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }" (while "while") (parenthesized_expression "(uVar11 < uVar7)" (( "(") (binary_expression "uVar11 < uVar7" (identifier "uVar11") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n              *puVar9 = uVar7;\n              puVar9[1] = puVar9[-1];\n              uVar7 = puVar9[-4];\n              puVar9 = puVar9 + -2;\n            }" ({ "{") (expression_statement "*puVar9 = uVar7;" (assignment_expression "*puVar9 = uVar7" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar9[1] = puVar9[-1];" (assignment_expression "puVar9[1] = puVar9[-1]" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar9[-1]" (identifier "puVar9") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "uVar7 = puVar9[-4];" (assignment_expression "uVar7 = puVar9[-4]" (identifier "uVar7") (= "=") (subscript_expression "puVar9[-4]" (identifier "puVar9") ([ "[") (number_literal "-4") (] "]"))) (; ";")) (expression_statement "puVar9 = puVar9 + -2;" (assignment_expression "puVar9 = puVar9 + -2" (identifier "puVar9") (= "=") (binary_expression "puVar9 + -2" (identifier "puVar9") (+ "+") (number_literal "-2"))) (; ";")) (} "}"))) (expression_statement "*puVar9 = uVar11;" (assignment_expression "*puVar9 = uVar11" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "puVar9[1] = uVar5;" (assignment_expression "puVar9[1] = uVar5" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);\n      }" ({ "{") (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xc5,"address",uVar7)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)(param_1 + 4);" (assignment_expression "iVar8 = *(int *)(param_1 + 4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar9 = (uint *)(puVar6 + 6);" (assignment_expression "puVar9 = (uint *)(puVar6 + 6)" (identifier "puVar9") (= "=") (cast_expression "(uint *)(puVar6 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 6)" (( "(") (binary_expression "puVar6 + 6" (identifier "puVar6") (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "puVar12 = local_28;" (assignment_expression "puVar12 = local_28" (identifier "puVar12") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (local_28 == local_24) {\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }\n      else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" (if "if") (parenthesized_expression "(local_28 == local_24)" (( "(") (binary_expression "local_28 == local_24" (identifier "local_28") (== "==") (identifier "local_24")) () ")")) (compound_statement "{\n        uVar7 = 0xc;\n        iVar8 = 0;\n      }" ({ "{") (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" (identifier "uVar7") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" (else "else") (compound_statement "{\n        do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);\n        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;\n        iVar8 = (int)uVar7 >> 0x1f;\n      }" ({ "{") (do_statement "do {\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        } while (local_24 != puVar13);" (do "do") (compound_statement "{\n          puVar13 = puVar12 + 2;\n          uVar7 = *puVar12 - iVar8;\n          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;\n          uVar7 = puVar12[1] - iVar8;\n          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;\n          puVar9 = puVar9 + 2;\n          puVar12 = puVar13;\n        }" ({ "{") (expression_statement "puVar13 = puVar12 + 2;" (assignment_expression "puVar13 = puVar12 + 2" (identifier "puVar13") (= "=") (binary_expression "puVar12 + 2" (identifier "puVar12") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar7 = *puVar12 - iVar8;" (assignment_expression "uVar7 = *puVar12 - iVar8" (identifier "uVar7") (= "=") (binary_expression "*puVar12 - iVar8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (- "-") (identifier "iVar8"))) (; ";")) (expression_statement "*puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000;" (assignment_expression "*puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                    uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 * 0x1000000" (identifier "uVar7") (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "uVar7 = puVar12[1] - iVar8;" (assignment_expression "uVar7 = puVar12[1] - iVar8" (identifier "uVar7") (= "=") (binary_expression "puVar12[1] - iVar8" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (- "-") (identifier "iVar8"))) (; ";")) (expression_statement "puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000;" (assignment_expression "puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                      uVar7 * 0x1000000" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 * 0x1000000" (identifier "uVar7") (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "puVar9 = puVar9 + 2;" (assignment_expression "puVar9 = puVar9 + 2" (identifier "puVar9") (= "=") (binary_expression "puVar9 + 2" (identifier "puVar9") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_24 != puVar13)" (( "(") (binary_expression "local_24 != puVar13" (identifier "local_24") (!= "!=") (identifier "puVar13")) () ")")) (; ";")) (expression_statement "uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;" (assignment_expression "uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14" (identifier "uVar7") (= "=") (binary_expression "((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14" (parenthesized_expression "((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U)" (( "(") (binary_expression "(int)local_24 + (-8 - (int)local_28) & 0xfffffff8U" (binary_expression "(int)local_24 + (-8 - (int)local_28)" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (+ "+") (parenthesized_expression "(-8 - (int)local_28)" (( "(") (binary_expression "-8 - (int)local_28" (number_literal "-8") (- "-") (cast_expression "(int)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_28"))) () ")"))) (& "&") (number_literal "0xfffffff8U")) () ")")) (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "iVar8 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar8 = (int)uVar7 >> 0x1f" (identifier "iVar8") (= "=") (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "0x1f"))) (; ";")) (} "}")))) (if_statement "if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }" (if "if") (parenthesized_expression "(iVar4 != iVar8 || (uVar3 ^ uVar7) != 0)" (( "(") (binary_expression "iVar4 != iVar8 || (uVar3 ^ uVar7) != 0" (binary_expression "iVar4 != iVar8" (identifier "iVar4") (!= "!=") (identifier "iVar8")) (|| "||") (binary_expression "(uVar3 ^ uVar7) != 0" (parenthesized_expression "(uVar3 ^ uVar7)" (( "(") (binary_expression "uVar3 ^ uVar7" (identifier "uVar3") (^ "^") (identifier "uVar7")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                    \n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);\n      }" ({ "{") (expression_statement "FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);" (call_expression "FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7)" (identifier "FUN_002446e0") (argument_list "("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7)" (( "(") (string_literal ""../../gold/ehframe.cc"" (" """) (string_content "../../gold/ehframe.cc") (" """)) (, ",") (number_literal "0xd1") (, ",") (string_literal ""do_sized_write"" (" """) (string_content "do_sized_write") (" """)) (, ",") (binary_expression "uVar3 ^ uVar7" (identifier "uVar3") (^ "^") (identifier "uVar7")) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_28 != (uint *)0x0) {\n        FUN_003ae080(local_28);\n        return;\n      }" (if "if") (parenthesized_expression "(local_28 != (uint *)0x0)" (( "(") (binary_expression "local_28 != (uint *)0x0" (identifier "local_28") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_003ae080(local_28);\n        return;\n      }" ({ "{") (expression_statement "FUN_003ae080(local_28);" (call_expression "FUN_003ae080(local_28)" (identifier "FUN_003ae080") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" (else "else") (compound_statement "{\n      puVar6[1] = 0xffff;\n      if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }\n    }" ({ "{") (expression_statement "puVar6[1] = 0xffff;" (assignment_expression "puVar6[1] = 0xffff" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xffff")) (; ";")) (if_statement "if (iVar4 != 0 || uVar3 != 8) {\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }" (if "if") (parenthesized_expression "(iVar4 != 0 || uVar3 != 8)" (( "(") (binary_expression "iVar4 != 0 || uVar3 != 8" (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar3 != 8" (identifier "uVar3") (!= "!=") (number_literal "8"))) () ")")) (compound_statement "{\n                    \n        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);\n      }" ({ "{") (expression_statement "FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);" (call_expression "FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3)" (identifier "FUN_002446e0") (argument_list "("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3)" (( "(") (string_literal ""../../gold/ehframe.cc"" (" """) (string_content "../../gold/ehframe.cc") (" """)) (, ",") (number_literal "0xaa") (, ",") (string_literal ""do_sized_write"" (" """) (string_content "do_sized_write") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xc5,"address",uVar3)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original name: do_sized_write<32, true>
   DWARF original prototype: void do_sized_write<32,_true>(Eh_frame_hdr * this, Output_file * of) */

void __thiscall gold::Eh_frame_hdr::do_sized_write<32,var_26>(Eh_frame_hdr *this,Output_file *of)

{
  byte var_3;
  bool var_14;
  type_1 var_7;
  int var_32;
  int var_9;
  type_1 uVar6;
  int var_11;
  type_2 *var_13;
  type_1 var_8;
  type_1 var_12;
  type_3 var_28;
  type_1 *var_31;
  int var_5;
  type_3 var_29;
  type_3 var_30;
  var_1<32> var_2;
  
  var_3 = (this->super_Output_section_data).super_Output_data.field_0x1c;
  if ((var_3 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    var_4("../../gold/output.h",0xe3,"offset");
  }
  var_8 = (type_1)(this->super_Output_section_data).super_Output_data.offset_;
  var_5 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);
  if ((var_3 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    var_4("../../gold/output.h",0xcf,"data_size");
  }
  var_7 = (type_1)(this->super_Output_section_data).super_Output_data.data_size_;
  var_32 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4);
  if ((var_5 < 0) ||
     (var_9 = *(int *)((int)&of->file_size_ + 4), var_5 = var_5 + (type_1)var_6(var_7,var_8),
     var_12 = (type_1)((type_1)of->file_size_ < var_7 + var_8), var_11 = var_9 - var_5,
     (var_10(var_9,var_5) != var_10(var_11,var_12)) != (int)(var_11 - var_12) < 0)) {
                    /* WARNING: Subroutine does not return */
    var_4("../../gold/output.h",0x6f,"get_output_view");
  }
  var_13 = of->base_ + var_8;
  var_13[0] = '\x01';
  var_13[1] = '\x1b';
  if ((((this->eh_frame_section_->super_Output_data).field_0x1c & 1) != 0) &&
     (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) != 0)) {
    var_8 = ((int)(this->eh_frame_section_->super_Output_data).address_ -
            (int)(this->super_Output_section_data).super_Output_data.address_) - 4;
    var_14 = this->any_unrecognized_eh_frame_sections_;
    *(type_1 *)(var_13 + 4) =
         var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 | var_8 * 0x1000000;
    if ((var_14 == false) &&
       ((this->fde_offsets_).
        super__Vector_base<var_24::var_15<var_16,var_17>,_std::allocator<var_24::var_15<var_16,var_17>var_18>var_18>
        ._M_impl._M_finish !=
        (this->fde_offsets_).
        super__Vector_base<var_24::var_15<var_16,var_17>,_std::allocator<var_24::var_15<var_16,var_17>var_18>var_18>
        ._M_impl._M_start)) {
      var_13[2] = '\x03';
      var_13[3] = ';';
      var_8 = (int)(this->fde_offsets_).
                   super__Vector_base<var_24::var_15<var_16,var_17>,_std::allocator<var_24::var_15<var_16,var_17>var_18>var_18>
                   ._M_impl._M_finish -
              (int)(this->fde_offsets_).
                   super__Vector_base<var_24::var_15<var_16,var_17>,_std::allocator<var_24::var_15<var_16,var_17>var_18>var_18>
                   ._M_impl._M_start;
      var_2.fde_addresses_.
      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
      ._M_impl._M_start = (type_3)0x0;
      var_12 = (int)var_8 >> 3;
      var_2.fde_addresses_.
      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
      ._M_impl._M_finish = (type_3)0x0;
      *(type_1 *)(var_13 + 8) =
           var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 | var_12 << 0x18;
      var_2.fde_addresses_.
      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
      ._M_impl._M_end_of_storage = (type_3)0x0;
      if (0x1fffffff < var_12) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */
        std::var_21("vector::reserve");
      }
      if (var_12 != 0) {
                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */
        var_28 = (type_3)var_22(var_8);
        if (var_2.fde_addresses_.
            super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
            ._M_impl._M_start != (type_3)0x0) {
          var_23(var_2.fde_addresses_.
                          super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                          ._M_impl._M_start);
        }
        var_2.fde_addresses_.
        super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
        ._M_impl._M_end_of_storage = (type_3)((int)var_28 + var_8);
        var_2.fde_addresses_.
        super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
        ._M_impl._M_finish = var_28;
      }
      var_2.fde_addresses_.
      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
      ._M_impl._M_start =
           var_2.fde_addresses_.
           super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
           ._M_impl._M_finish;
                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */
      var_25<32,var_26>(this,of,&this->fde_offsets_,&var_2);
      var_29 = var_2.fde_addresses_.
                super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                ._M_impl._M_finish;
      var_28 = var_2.fde_addresses_.
                super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                ._M_impl._M_start;
      if (var_2.fde_addresses_.
          super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
          ._M_impl._M_start !=
          var_2.fde_addresses_.
          super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
          ._M_impl._M_finish) {
        var_5 = (int)var_2.fde_addresses_.
                      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                      ._M_impl._M_finish -
                 (int)var_2.fde_addresses_.
                      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                      ._M_impl._M_start;
        var_12 = var_5 >> 3;
        var_8 = 0x1f;
        if (var_12 != 0) {
          for (; var_12 >> var_8 == 0; var_8 = var_8 - 1) {
          }
        }
        std::
        __introsort_loop<__gnu_cxx::__normal_iterator<var_24::var_15<var_19,var_20>*,_std::vector<var_24::var_15<var_19,var_20>var_18>var_18>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::var_27<32>var_18>var_18>
                  (var_2.fde_addresses_.
                   super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                   ._M_impl._M_start,
                   var_2.fde_addresses_.
                   super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                   ._M_impl._M_finish,(0x1f - (var_8 ^ 0x1f)) * 2,0);
        if (var_5 < 0x81) {
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<var_24::var_15<var_19,var_20>*,_std::vector<var_24::var_15<var_19,var_20>var_18>var_18>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::var_27<32>var_18>var_18>
                    (var_28,var_29,0);
        }
        else {
          var_30 = var_28 + 0x10;
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<var_24::var_15<var_19,var_20>*,_std::vector<var_24::var_15<var_19,var_20>var_18>var_18>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::var_27<32>var_18>var_18>
                    (var_28,var_30,0);
          for (; var_29 != var_30; var_30 = var_30 + 1) {
            var_8 = var_30->first;
            uVar6 = var_30->second;
            var_12 = var_30[-1].first;
            var_28 = var_30;
            while (var_8 < var_12) {
              var_28->first = var_12;
              var_28->second = var_28[-1].second;
              var_12 = var_28[-2].first;
              var_28 = var_28 + -1;
            }
            var_28->first = var_8;
            var_28->second = uVar6;
          }
        }
      }
      if (((this->super_Output_section_data).super_Output_data.field_0x1c & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */
        var_4("../../gold/output.h",0xc5,"address");
      }
      var_5 = (int)(this->super_Output_section_data).super_Output_data.address_;
      var_31 = (type_1 *)(var_13 + 0xc);
      var_28 = var_2.fde_addresses_.
                super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                ._M_impl._M_start;
      if (var_2.fde_addresses_.
          super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
          ._M_impl._M_start ==
          var_2.fde_addresses_.
          super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
          ._M_impl._M_finish) {
        var_8 = 0xc;
        var_5 = 0;
      }
      else {
        do {
          var_29 = var_28 + 1;
          var_8 = var_28->first - var_5;
          *var_31 = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 |
                     var_8 * 0x1000000;
          var_8 = var_28->second - var_5;
          var_31[1] = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 |
                       var_8 * 0x1000000;
          var_31 = var_31 + 2;
          var_28 = var_29;
        } while (var_2.fde_addresses_.
                 super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                 ._M_impl._M_finish != var_29);
        var_8 = ((int)var_2.fde_addresses_.
                      super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                      ._M_impl._M_finish +
                 (-8 - (int)var_2.fde_addresses_.
                            super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                            ._M_impl._M_start) & 0xfffffff8U) + 0x14;
        var_5 = (int)var_8 >> 0x1f;
      }
      if (var_32 != var_5 || var_7 != var_8) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */
        var_4("../../gold/ehframe.cc",0xd1,"do_sized_write");
      }
      if (var_2.fde_addresses_.
          super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
          ._M_impl._M_start != (type_3)0x0) {
        var_23(var_2.fde_addresses_.
                        super__Vector_base<var_24::var_15<var_19,var_20>,_std::allocator<var_24::var_15<var_19,var_20>var_18>var_18>
                        ._M_impl._M_start);
        return;
      }
    }
    else {
      var_13[2] = 0xff;
      var_13[3] = 0xff;
      if (var_32 != 0 || var_7 != 8) {
                    /* WARNING: Subroutine does not return */
        var_4("../../gold/ehframe.cc",0xaa,"do_sized_write");
      }
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_4("../../gold/output.h",0xc5,"address");
}


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

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

void MASKED(int param_1,int param_2)

{
  byte bVar1;
  char cVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  undefined2 *puVar6;
  uint uVar7;
  int iVar8;
  uint *puVar9;
  int iVar10;
  uint extraout_EDX;
  uint uVar11;
  uint extraout_EDX_00;
  uint *puVar12;
  uint extraout_EDX_01;
  uint *puVar13;
  uint *local_28;
  uint *local_24;
  int local_20;
  
  bVar1 = *(byte *)(param_1 + 0x1c);
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar1);
  }
  uVar7 = *(uint *)(param_1 + 0x14);
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0xcf,"data_size",bVar1);
  }
  uVar3 = *(uint *)(param_1 + 0xc);
  iVar4 = *(int *)(param_1 + 0x10);
  if ((*(int *)(param_1 + 0x18) < 0) ||
     (iVar10 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar3,uVar7),
     uVar11 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar7),
     iVar8 = *(int *)(param_2 + 0xc) - iVar10,
     (SBORROW4(*(int *)(param_2 + 0xc),iVar10) != SBORROW4(iVar8,uVar11)) !=
     (int)(iVar8 - uVar11) < 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view",param_1);
  }
  puVar6 = (undefined2 *)(uVar7 + *(int *)(param_2 + 0x10));
  *puVar6 = 0x1b01;
  if (((*(byte *)(*(int *)(param_1 + 0x2c) + 0x1c) & 1) != 0) &&
     ((*(byte *)(param_1 + 0x1c) & 1) != 0)) {
    uVar7 = (*(int *)(*(int *)(param_1 + 0x2c) + 4) - *(int *)(param_1 + 4)) - 4;
    cVar2 = *(char *)(param_1 + 0x40);
    *(uint *)(puVar6 + 2) =
         uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;
    if ((cVar2 == '\0') && (*(int *)(param_1 + 0x38) != *(int *)(param_1 + 0x34))) {
      puVar6[1] = 0x3b03;
      iVar8 = *(int *)(param_1 + 0x38) - *(int *)(param_1 + 0x34);
      local_28 = (uint *)0x0;
      uVar7 = iVar8 >> 3;
      local_24 = (uint *)0x0;
      *(uint *)(puVar6 + 4) =
           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
      local_20 = 0;
      if (0x1fffffff < uVar7) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889de to 003889e2 has its CatchHandler @ 003889ff */
        FUN_003f3a70("vector::reserve");
      }
      if (uVar7 != 0) {
                    /* try { // try from 003888b1 to 003888b5 has its CatchHandler @ 003889ff */
        puVar9 = (uint *)FUN_003ac4d0(iVar8);
        if (local_28 != (uint *)0x0) {
          FUN_003ae080(local_28);
        }
        local_20 = (int)puVar9 + iVar8;
        local_24 = puVar9;
      }
      local_28 = local_24;
                    /* try { // try from 0038871d to 00388721 has its CatchHandler @ 00388a03 */
      FUN_00382310(param_1,param_2,param_1 + 0x34,&local_28);
      puVar12 = local_24;
      puVar9 = local_28;
      uVar7 = extraout_EDX;
      if (local_28 != local_24) {
        iVar8 = (int)local_24 - (int)local_28;
        uVar11 = iVar8 >> 3;
        uVar7 = 0x1f;
        if (uVar11 != 0) {
          for (; uVar11 >> uVar7 == 0; uVar7 = uVar7 - 1) {
          }
        }
        FUN_00388420(local_28,local_24,(0x1f - (uVar7 ^ 0x1f)) * 2,0);
        if (iVar8 < 0x81) {
          FUN_00383b70(puVar9,puVar12,0);
          uVar7 = extraout_EDX_01;
        }
        else {
          puVar13 = puVar9 + 0x20;
          FUN_00383b70(puVar9,puVar13,0);
          uVar7 = extraout_EDX_00;
          for (; puVar12 != puVar13; puVar13 = puVar13 + 2) {
            uVar11 = *puVar13;
            uVar5 = puVar13[1];
            uVar7 = puVar13[-2];
            puVar9 = puVar13;
            while (uVar11 < uVar7) {
              *puVar9 = uVar7;
              puVar9[1] = puVar9[-1];
              uVar7 = puVar9[-4];
              puVar9 = puVar9 + -2;
            }
            *puVar9 = uVar11;
            puVar9[1] = uVar5;
          }
        }
      }
      if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889cc to 003889d0 has its CatchHandler @ 00388a03 */
        FUN_002446e0("../../gold/output.h",0xc5,"address",uVar7);
      }
      iVar8 = *(int *)(param_1 + 4);
      puVar9 = (uint *)(puVar6 + 6);
      puVar12 = local_28;
      if (local_28 == local_24) {
        uVar7 = 0xc;
        iVar8 = 0;
      }
      else {
        do {
          puVar13 = puVar12 + 2;
          uVar7 = *puVar12 - iVar8;
          *puVar9 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                    uVar7 * 0x1000000;
          uVar7 = puVar12[1] - iVar8;
          puVar9[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                      uVar7 * 0x1000000;
          puVar9 = puVar9 + 2;
          puVar12 = puVar13;
        } while (local_24 != puVar13);
        uVar7 = ((int)local_24 + (-8 - (int)local_28) & 0xfffffff8U) + 0x14;
        iVar8 = (int)uVar7 >> 0x1f;
      }
      if (iVar4 != iVar8 || (uVar3 ^ uVar7) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003889fa to 003889fe has its CatchHandler @ 00388a03 */
        FUN_002446e0("../../gold/ehframe.cc",0xd1,"do_sized_write",uVar3 ^ uVar7);
      }
      if (local_28 != (uint *)0x0) {
        FUN_003ae080(local_28);
        return;
      }
    }
    else {
      puVar6[1] = 0xffff;
      if (iVar4 != 0 || uVar3 != 8) {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/ehframe.cc",0xaa,"do_sized_write",uVar3);
      }
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/output.h",0xc5,"address",uVar3);
}

