
/* DWARF original name: do_sized_write<64, true>
   DWARF original prototype: void do_sized_write<64,_true>(Eh_frame_hdr * this, Output_file * of) */

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

{
  byte bVar1;
  bool bVar2;
  long lVar3;
  ulong uVar4;
  ulong uVar5;
  uint64_t uVar6;
  uint uVar7;
  ulong uVar8;
  pointer ppVar9;
  long lVar10;
  Output_file *in_RCX;
  uint *puVar11;
  size_t in_RDX;
  pointer ppVar12;
  uchar *puVar13;
  int iVar14;
  pointer ppVar15;
  long lVar16;
  Fde_addresses<64> fde_addresses;
  
  bVar1 = (this->super_Output_section_data).super_Output_data.field_0x20;
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  lVar10 = (this->super_Output_section_data).super_Output_data.offset_;
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  lVar3 = (this->super_Output_section_data).super_Output_data.data_size_;
  if ((lVar10 < 0) || (of->file_size_ < lVar3 + lVar10)) {
    Output_file::get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX);
  }
  else {
    puVar13 = of->base_ + lVar10;
    puVar13[0] = '\x01';
    puVar13[1] = '\x1b';
    if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&
       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {
      uVar7 = ((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 *)(puVar13 + 4) =
           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;
      if ((bVar2 == false) &&
         ((this->fde_offsets_).
          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>
          ._M_impl._M_finish !=
          (this->fde_offsets_).
          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>
          ._M_impl._M_start)) {
        puVar13[2] = '\x03';
        puVar13[3] = ';';
        fde_addresses.fde_addresses_.
        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
        ._M_impl._M_start = (pointer)0x0;
        uVar8 = (long)(this->fde_offsets_).
                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>
                      ._M_impl._M_finish -
                (long)(this->fde_offsets_).
                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>
                      ._M_impl._M_start >> 4;
        uVar7 = (uint)uVar8;
        uVar8 = uVar8 & 0xffffffff;
        *(uint *)(puVar13 + 8) =
             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
        fde_addresses.fde_addresses_.
        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
        ._M_impl._M_finish = (pointer)0x0;
        fde_addresses.fde_addresses_.
        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
        ._M_impl._M_end_of_storage = (pointer)0x0;
        if (uVar8 != 0) {
                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */
          ppVar9 = (pointer)operator_new(uVar8 * 0x10);
          if (fde_addresses.fde_addresses_.
              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
              ._M_impl._M_start != (pointer)0x0) {
            operator_delete(fde_addresses.fde_addresses_.
                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                            ._M_impl._M_start);
          }
          fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
          ._M_impl._M_end_of_storage = ppVar9 + uVar8;
          fde_addresses.fde_addresses_.
          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
          ._M_impl._M_finish = ppVar9;
        }
        fde_addresses.fde_addresses_.
        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
        ._M_impl._M_start =
             fde_addresses.fde_addresses_.
             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
             ._M_impl._M_finish;
                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */
        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);
        ppVar12 = fde_addresses.fde_addresses_.
                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                  ._M_impl._M_finish;
        ppVar9 = fde_addresses.fde_addresses_.
                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                 ._M_impl._M_start;
        if (fde_addresses.fde_addresses_.
            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
            ._M_impl._M_start !=
            fde_addresses.fde_addresses_.
            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
            ._M_impl._M_finish) {
          lVar16 = (long)fde_addresses.fde_addresses_.
                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                         ._M_impl._M_finish -
                   (long)fde_addresses.fde_addresses_.
                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                         ._M_impl._M_start;
          uVar8 = lVar16 >> 4;
          lVar10 = 0x3f;
          if (uVar8 != 0) {
            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {
            }
          }
          std::
          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>
                    (fde_addresses.fde_addresses_.
                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                     ._M_impl._M_start,
                     fde_addresses.fde_addresses_.
                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);
          if (lVar16 < 0x101) {
            std::
            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>
                      (ppVar9,ppVar12);
          }
          else {
            ppVar15 = ppVar9 + 0x10;
            std::
            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>
                      (ppVar9,ppVar15);
            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {
              uVar8 = ppVar15->first;
              uVar5 = ppVar15->second;
              uVar4 = ppVar15[-1].first;
              ppVar9 = ppVar15;
              while (uVar8 < uVar4) {
                ppVar9->first = uVar4;
                ppVar9->second = ppVar9[-1].second;
                uVar4 = ppVar9[-2].first;
                ppVar9 = ppVar9 + -1;
              }
              ppVar9->first = uVar8;
              ppVar9->second = uVar5;
            }
          }
        }
        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/output.h",0xc5,"address");
        }
        puVar11 = (uint *)(puVar13 + 0xc);
        uVar6 = (this->super_Output_section_data).super_Output_data.address_;
        ppVar9 = fde_addresses.fde_addresses_.
                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                 ._M_impl._M_start;
        if (fde_addresses.fde_addresses_.
            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
            ._M_impl._M_start ==
            fde_addresses.fde_addresses_.
            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
            ._M_impl._M_finish) {
          lVar10 = 0xc;
        }
        else {
          do {
            ppVar12 = ppVar9 + 1;
            iVar14 = (int)uVar6;
            uVar7 = (int)ppVar9->first - iVar14;
            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                       uVar7 * 0x1000000;
            uVar7 = (int)ppVar9->second - iVar14;
            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                         uVar7 * 0x1000000;
            puVar11 = puVar11 + 2;
            ppVar9 = ppVar12;
          } while (fde_addresses.fde_addresses_.
                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                   ._M_impl._M_finish != ppVar12);
          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.
                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                                  ._M_impl._M_finish +
                           (-0x10 - (long)fde_addresses.fde_addresses_.
                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;
        }
        if (lVar3 != lVar10) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */
          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");
        }
        if (fde_addresses.fde_addresses_.
            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
            ._M_impl._M_start != (pointer)0x0) {
          operator_delete(fde_addresses.fde_addresses_.
                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>
                          ._M_impl._M_start);
          return;
        }
      }
      else {
        puVar13[2] = 0xff;
        puVar13[3] = 0xff;
        if (lVar3 != 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");
}



void FUN_002b04e0(long param_1,long param_2)

{
  char cVar1;
  long lVar2;
  ulong uVar3;
  ulong uVar4;
  undefined8 uVar5;
  uint uVar6;
  ulong uVar7;
  ulong *puVar8;
  long lVar9;
  uint *puVar10;
  ulong *puVar11;
  undefined2 *puVar12;
  int iVar13;
  ulong *puVar14;
  long lVar15;
  ulong *local_58;
  ulong *local_50;
  ulong *local_48;
  
  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.h",0xe3,"offset");
  }
  lVar9 = *(long *)(param_1 + 0x18);
  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.h",0xcf,"data_size");
  }
  lVar2 = *(long *)(param_1 + 0x10);
  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {
    FUN_002a7b90();
  }
  else {
    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));
    *puVar12 = 0x1b01;
    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&
       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {
      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -
              (int)*(undefined8 *)(param_1 + 8)) - 4;
      cVar1 = *(char *)(param_1 + 0x60);
      *(uint *)(puVar12 + 2) =
           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;
      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {
        puVar12[1] = 0x3b03;
        local_58 = (ulong *)0x0;
        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;
        uVar6 = (uint)uVar7;
        uVar7 = uVar7 & 0xffffffff;
        *(uint *)(puVar12 + 4) =
             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
        local_50 = (ulong *)0x0;
        local_48 = (ulong *)0x0;
        if (uVar7 != 0) {
                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */
          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);
          if (local_58 != (ulong *)0x0) {
            FUN_002dac60();
          }
          local_48 = puVar8 + uVar7 * 2;
          local_50 = puVar8;
        }
        local_58 = local_50;
                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */
        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);
        puVar11 = local_50;
        puVar8 = local_58;
        if (local_58 != local_50) {
          lVar15 = (long)local_50 - (long)local_58;
          uVar7 = lVar15 >> 4;
          lVar9 = 0x3f;
          if (uVar7 != 0) {
            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {
            }
          }
          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);
          if (lVar15 < 0x101) {
            FUN_002ab250(puVar8,puVar11);
          }
          else {
            puVar14 = puVar8 + 0x20;
            FUN_002ab250(puVar8,puVar14);
            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {
              uVar7 = *puVar14;
              uVar4 = puVar14[1];
              uVar3 = puVar14[-2];
              puVar8 = puVar14;
              while (uVar7 < uVar3) {
                *puVar8 = uVar3;
                puVar8[1] = puVar8[-1];
                uVar3 = puVar8[-4];
                puVar8 = puVar8 + -2;
              }
              *puVar8 = uVar7;
              puVar8[1] = uVar4;
            }
          }
        }
        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/output.h",0xc5,"address");
        }
        puVar10 = (uint *)(puVar12 + 6);
        uVar5 = *(undefined8 *)(param_1 + 8);
        puVar8 = local_58;
        if (local_58 == local_50) {
          lVar9 = 0xc;
        }
        else {
          do {
            puVar11 = puVar8 + 2;
            iVar13 = (int)uVar5;
            uVar6 = (int)*puVar8 - iVar13;
            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |
                       uVar6 * 0x1000000;
            uVar6 = (int)puVar8[1] - iVar13;
            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |
                         uVar6 * 0x1000000;
            puVar10 = puVar10 + 2;
            puVar8 = puVar11;
          } while (local_50 != puVar11);
          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;
        }
        if (lVar2 != lVar9) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */
          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");
        }
        if (local_58 != (ulong *)0x0) {
          FUN_002dac60();
          return;
        }
      }
      else {
        puVar12[1] = 0xffff;
        if (lVar2 != 8) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");
        }
      }
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/output.h",0xc5,"address");
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x28
MOVZX EAX,byte ptr [RDI + 0x20]
TEST AL,0x4
JZ 0x002b07b7
MOV R12,RDI
MOV RBX,qword ptr [RDI + 0x18]
TEST AL,0x2
JZ 0x002b07cf
MOV RBP,qword ptr [RDI + 0x10]
TEST RBX,RBX
JS 0x002b079a
MOV R13,RSI
LEA RAX,[RBP + RBX*0x1]
CMP RAX,qword ptr [RSI + 0x10]
JG 0x002b079a
ADD RBX,qword ptr [RSI + 0x18]
MOV ECX,0x1b01
MOV word ptr [RBX],CX
MOV RAX,qword ptr [RDI + 0x38]
TEST byte ptr [RAX + 0x20],0x1
JZ 0x002b079f
MOV RAX,qword ptr [RAX + 0x8]
TEST byte ptr [RDI + 0x20],0x1
JZ 0x002b079f
SUB RAX,qword ptr [RDI + 0x8]
SUB RAX,0x4
CMP byte ptr [RDI + 0x60],0x0
BSWAP EAX
MOV dword ptr [RBX + 0x4],EAX
JZ 0x002b0588
MOV EDX,0xffffffff
MOV word ptr [RBX + 0x2],DX
CMP RBP,0x8
JNZ 0x002b07e7
ADD RSP,0x28
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,qword ptr [RDI + 0x48]
CMP qword ptr [RDI + 0x50],RAX
JZ 0x002b0563
MOV EAX,0x3b03
MOV word ptr [RBX + 0x2],AX
MOV RAX,qword ptr [RDI + 0x50]
SUB RAX,qword ptr [RDI + 0x48]
MOV qword ptr [RSP],0x0
SAR RAX,0x4
MOV EDX,EAX
MOV EAX,EAX
BSWAP EDX
MOV dword ptr [RBX + 0x8],EDX
MOV qword ptr [RSP + 0x8],0x0
MOV qword ptr [RSP + 0x10],0x0
TEST RAX,RAX
JNZ 0x002b0730
MOV RCX,RSP
LEA RDX,[R12 + 0x48]
MOV RSI,R13
MOV RDI,R12
CALL 0x002ac7f0
MOV R14,qword ptr [RSP + 0x8]
MOV R15,qword ptr [RSP]
CMP R15,R14
JZ 0x002b069c
MOV R13,R14
MOV EDX,0x3f
MOV RSI,R14
MOV RDI,R15
SUB R13,R15
MOV RAX,R13
SAR RAX,0x4
BSR RAX,RAX
XOR RAX,0x3f
CDQE
SUB RDX,RAX
ADD RDX,RDX
CALL 0x002b02b0
CMP R13,0x100
JLE 0x002b0770
LEA R13,[R15 + 0x100]
MOV RDI,R15
MOV RSI,R13
CALL 0x002ab250
MOV RSI,R13
CMP R14,R13
JZ 0x002b069c
NOP dword ptr [RAX]
MOV RDI,qword ptr [RSI]
MOV RDX,qword ptr [RSI + -0x10]
LEA RAX,[RSI + -0x10]
MOV R8,qword ptr [RSI + 0x8]
CMP RDX,RDI
JA 0x002b0673
JMP 0x002b0780
MOV RAX,RCX
MOV qword ptr [RAX + 0x10],RDX
MOV RDX,qword ptr [RAX + 0x8]
LEA RCX,[RAX + -0x10]
MOV qword ptr [RAX + 0x18],RDX
MOV RDX,qword ptr [RAX + -0x10]
CMP RDI,RDX
JC 0x002b0670
ADD RSI,0x10
MOV qword ptr [RAX],RDI
MOV qword ptr [RAX + 0x8],R8
CMP R14,RSI
JNZ 0x002b0650
TEST byte ptr [R12 + 0x20],0x1
JZ 0x002b0817
MOV RDI,qword ptr [RSP]
MOV R8,qword ptr [RSP + 0x8]
LEA R9,[RBX + 0xc]
MOV RSI,qword ptr [R12 + 0x8]
CMP RDI,R8
JZ 0x002b0790
MOV RDX,RDI
MOV RCX,R9
NOP dword ptr [RAX]
MOV EAX,dword ptr [RDX]
ADD RDX,0x10
ADD RCX,0x8
SUB EAX,ESI
BSWAP EAX
MOV dword ptr [RCX + -0x8],EAX
MOV EAX,dword ptr [RDX + -0x8]
SUB EAX,ESI
BSWAP EAX
MOV dword ptr [RCX + -0x4],EAX
CMP R8,RDX
JNZ 0x002b06d0
SUB R8,0x10
SUB R8,RDI
SHR R8,0x4
LEA RAX,[R9 + R8*0x8 + 0x8]
SUB RAX,RBX
CMP RBP,RAX
JNZ 0x002b07ff
TEST RDI,RDI
JZ 0x002b0576
CALL 0x002dac60
ADD RSP,0x28
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
SHL RAX,0x4
MOV RDI,RAX
MOV R14,RAX
CALL 0x002d9490
MOV RDI,qword ptr [RSP]
MOV R15,RAX
TEST RDI,RDI
JZ 0x002b0750
CALL 0x002dac60
LEA RAX,[R15 + R14*0x1]
MOV qword ptr [RSP],R15
MOV qword ptr [RSP + 0x8],R15
MOV qword ptr [RSP + 0x10],RAX
JMP 0x002b05d3
MOV RSI,R14
MOV RDI,R15
CALL 0x002ab250
JMP 0x002b069c
MOV RAX,RSI
JMP 0x002b068c
MOV EAX,0xc
JMP 0x002b0703
CALL 0x002a7b90
LEA RDX,[0x38c298]
MOV ESI,0xc5
LEA RDI,[0x373454]
CALL 0x0017c650
LEA RDX,[0x38c2da]
MOV ESI,0xe3
LEA RDI,[0x373454]
CALL 0x0017c650
LEA RDX,[0x38c2d0]
MOV ESI,0xcf
LEA RDI,[0x373454]
CALL 0x0017c650
LEA RDX,[0x38c248]
MOV ESI,0xaa
LEA RDI,[0x38bfc1]
CALL 0x0017c650
LEA RDX,[0x38c248]
MOV ESI,0xd1
LEA RDI,[0x38bfc1]
CALL 0x0017c650
LEA RDX,[0x38c298]
MOV ESI,0xc5
LEA RDI,[0x373454]
CALL 0x0017c650
(translation_unit "void FUN_002b04e0(long param_1,long param_2)\n\n{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}\n\n" (function_definition "void FUN_002b04e0(long param_1,long param_2)\n\n{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}" primitive_type (function_declarator "FUN_002b04e0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined2 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "ulong *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "ulong *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "ulong *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (if_statement "if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 4) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 4)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 4" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_0017c650("../../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 "lVar9 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar9 = *(long *)(param_1 + 0x18)" identifier = (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 2)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 2" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_0017c650("../../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 "lVar2 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" if (parenthesized_expression "((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9))" ( (binary_expression "(lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)" (parenthesized_expression "(lVar9 < 0)" ( (binary_expression "lVar9 < 0" identifier < number_literal) )) || (parenthesized_expression "(*(long *)(param_2 + 0x10) < lVar2 + lVar9)" ( (binary_expression "*(long *)(param_2 + 0x10) < lVar2 + lVar9" (pointer_expression "*(long *)(param_2 + 0x10)" * (cast_expression "(long *)(param_2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) < (binary_expression "lVar2 + lVar9" identifier + identifier)) ))) )) (compound_statement "{\n    FUN_002a7b90();\n  }" { (expression_statement "FUN_002a7b90();" (call_expression "FUN_002a7b90()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" else (compound_statement "{\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" { (expression_statement "puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));" (assignment_expression "puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18))" identifier = (cast_expression "(undefined2 *)(lVar9 + *(long *)(param_2 + 0x18))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + *(long *)(param_2 + 0x18))" ( (binary_expression "lVar9 + *(long *)(param_2 + 0x18)" identifier + (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar12 = 0x1b01;" (assignment_expression "*puVar12 = 0x1b01" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (if_statement "if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }" if (parenthesized_expression "(((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0))" ( (binary_expression "((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)" (parenthesized_expression "((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1)" ( (binary_expression "*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1" (pointer_expression "*(byte *)(*(long *)(param_1 + 0x38) + 0x20)" * (cast_expression "(byte *)(*(long *)(param_1 + 0x38) + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x20)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }" { (expression_statement "uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;" (assignment_expression "uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4" identifier = (binary_expression "((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4" (parenthesized_expression "((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8))" ( (binary_expression "(int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)" (cast_expression "(int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) - (cast_expression "(int)*(undefined8 *)(param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) )) - number_literal)) ;) (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" identifier = (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;" (assignment_expression "*(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000" (pointer_expression "*(uint *)(puVar12 + 2)" * (cast_expression "(uint *)(puVar12 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 2)" ( (binary_expression "puVar12 + 2" identifier + number_literal) )))) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 * 0x1000000" identifier * number_literal))) ;) (if_statement "if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" if (parenthesized_expression "((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48)))" ( (binary_expression "(cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))" ( (binary_expression "*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48)" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ))) )) (compound_statement "{\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }" { (expression_statement "puVar12[1] = 0x3b03;" (assignment_expression "puVar12[1] = 0x3b03" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_58 = (ulong *)0x0;" (assignment_expression "local_58 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;" (assignment_expression "uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4" identifier = (binary_expression "*(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4" (binary_expression "*(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48)" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "uVar6 = (uint)uVar7;" (assignment_expression "uVar6 = (uint)uVar7" identifier = (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = uVar7 & 0xffffffff;" (assignment_expression "uVar7 = uVar7 & 0xffffffff" identifier = (binary_expression "uVar7 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "*(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "*(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (pointer_expression "*(uint *)(puVar12 + 4)" * (cast_expression "(uint *)(puVar12 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 4)" ( (binary_expression "puVar12 + 4" identifier + number_literal) )))) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 << 0x18" identifier << number_literal))) ;) (expression_statement "local_50 = (ulong *)0x0;" (assignment_expression "local_50 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = (ulong *)0x0;" (assignment_expression "local_48 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar7 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }" { comment (expression_statement "puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);" (assignment_expression "puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10)" identifier = (cast_expression "(ulong *)FUN_002d9490(uVar7 * 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(uVar7 * 0x10)" identifier (argument_list "(uVar7 * 0x10)" ( (binary_expression "uVar7 * 0x10" identifier * number_literal) ))))) ;) (if_statement "if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }" if (parenthesized_expression "(local_58 != (ulong *)0x0)" ( (binary_expression "local_58 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            FUN_002dac60();\n          }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_48 = puVar8 + uVar7 * 2;" (assignment_expression "local_48 = puVar8 + uVar7 * 2" identifier = (binary_expression "puVar8 + uVar7 * 2" identifier + (binary_expression "uVar7 * 2" identifier * number_literal))) ;) (expression_statement "local_50 = puVar8;" (assignment_expression "local_50 = puVar8" identifier = identifier) ;) })) (expression_statement "local_58 = local_50;" (assignment_expression "local_58 = local_50" identifier = identifier) ;) comment (expression_statement "FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);" (call_expression "FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58)" identifier (argument_list "(param_1,param_2,param_1 + 0x48,&local_58)" ( identifier , identifier , (binary_expression "param_1 + 0x48" identifier + number_literal) , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar11 = local_50;" (assignment_expression "puVar11 = local_50" identifier = identifier) ;) (expression_statement "puVar8 = local_58;" (assignment_expression "puVar8 = local_58" identifier = identifier) ;) (if_statement "if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }" if (parenthesized_expression "(local_58 != local_50)" ( (binary_expression "local_58 != local_50" identifier != identifier) )) (compound_statement "{\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }" { (expression_statement "lVar15 = (long)local_50 - (long)local_58;" (assignment_expression "lVar15 = (long)local_50 - (long)local_58" identifier = (binary_expression "(long)local_50 - (long)local_58" (cast_expression "(long)local_50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_58" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar7 = lVar15 >> 4;" (assignment_expression "uVar7 = lVar15 >> 4" identifier = (binary_expression "lVar15 >> 4" identifier >> number_literal)) ;) (expression_statement "lVar9 = 0x3f;" (assignment_expression "lVar9 = 0x3f" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }" { (for_statement "for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }" for ( ; (binary_expression "uVar7 >> lVar9 == 0" (binary_expression "uVar7 >> lVar9" identifier >> identifier) == number_literal) ; (assignment_expression "lVar9 = lVar9 + -1" identifier = (binary_expression "lVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            }" { })) })) (expression_statement "FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);" (call_expression "FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2)" identifier (argument_list "(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2)" ( identifier , identifier , (binary_expression "(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar9 ^ 0x3f))" ( (binary_expression "0x3f - (long)(int)((uint)lVar9 ^ 0x3f)" number_literal - (cast_expression "(long)(int)((uint)lVar9 ^ 0x3f)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)((uint)lVar9 ^ 0x3f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)lVar9 ^ 0x3f)" ( (binary_expression "(uint)lVar9 ^ 0x3f" (cast_expression "(uint)lVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) ))))) )) * number_literal) ))) ;) (if_statement "if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" if (parenthesized_expression "(lVar15 < 0x101)" ( (binary_expression "lVar15 < 0x101" identifier < number_literal) )) (compound_statement "{\n            FUN_002ab250(puVar8,puVar11);\n          }" { (expression_statement "FUN_002ab250(puVar8,puVar11);" (call_expression "FUN_002ab250(puVar8,puVar11)" identifier (argument_list "(puVar8,puVar11)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" else (compound_statement "{\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" { (expression_statement "puVar14 = puVar8 + 0x20;" (assignment_expression "puVar14 = puVar8 + 0x20" identifier = (binary_expression "puVar8 + 0x20" identifier + number_literal)) ;) (expression_statement "FUN_002ab250(puVar8,puVar14);" (call_expression "FUN_002ab250(puVar8,puVar14)" identifier (argument_list "(puVar8,puVar14)" ( identifier , identifier ))) ;) (for_statement "for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }" for ( ; (binary_expression "puVar11 != puVar14" identifier != identifier) ; (assignment_expression "puVar14 = puVar14 + 2" identifier = (binary_expression "puVar14 + 2" identifier + number_literal)) ) (compound_statement "{\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }" { (expression_statement "uVar7 = *puVar14;" (assignment_expression "uVar7 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "uVar4 = puVar14[1];" (assignment_expression "uVar4 = puVar14[1]" identifier = (subscript_expression "puVar14[1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = puVar14[-2];" (assignment_expression "uVar3 = puVar14[-2]" identifier = (subscript_expression "puVar14[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = puVar14;" (assignment_expression "puVar8 = puVar14" identifier = identifier) ;) (while_statement "while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }" while (parenthesized_expression "(uVar7 < uVar3)" ( (binary_expression "uVar7 < uVar3" identifier < identifier) )) (compound_statement "{\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }" { (expression_statement "*puVar8 = uVar3;" (assignment_expression "*puVar8 = uVar3" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = puVar8[-1];" (assignment_expression "puVar8[1] = puVar8[-1]" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (subscript_expression "puVar8[-1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = puVar8[-4];" (assignment_expression "uVar3 = puVar8[-4]" identifier = (subscript_expression "puVar8[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = puVar8 + -2;" (assignment_expression "puVar8 = puVar8 + -2" identifier = (binary_expression "puVar8 + -2" identifier + number_literal)) ;) })) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = uVar4;" (assignment_expression "puVar8[1] = uVar4" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) })) }))) })) (if_statement "if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/output.h",0xc5,"address");" (call_expression "FUN_0017c650("../../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 "puVar10 = (uint *)(puVar12 + 6);" (assignment_expression "puVar10 = (uint *)(puVar12 + 6)" identifier = (cast_expression "(uint *)(puVar12 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 6)" ( (binary_expression "puVar12 + 6" identifier + number_literal) )))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 8);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = local_58;" (assignment_expression "puVar8 = local_58" identifier = identifier) ;) (if_statement "if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" if (parenthesized_expression "(local_58 == local_50)" ( (binary_expression "local_58 == local_50" identifier == identifier) )) (compound_statement "{\n          lVar9 = 0xc;\n        }" { (expression_statement "lVar9 = 0xc;" (assignment_expression "lVar9 = 0xc" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" else (compound_statement "{\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" { (do_statement "do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);" do (compound_statement "{\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          }" { (expression_statement "puVar11 = puVar8 + 2;" (assignment_expression "puVar11 = puVar8 + 2" identifier = (binary_expression "puVar8 + 2" identifier + number_literal)) ;) (expression_statement "iVar13 = (int)uVar5;" (assignment_expression "iVar13 = (int)uVar5" identifier = (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar6 = (int)*puVar8 - iVar13;" (assignment_expression "uVar6 = (int)*puVar8 - iVar13" identifier = (binary_expression "(int)*puVar8 - iVar13" (cast_expression "(int)*puVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar8" * identifier)) - identifier)) ;) (expression_statement "*puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;" (assignment_expression "*puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000" (pointer_expression "*puVar10" * identifier) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 * 0x1000000" identifier * number_literal))) ;) (expression_statement "uVar6 = (int)puVar8[1] - iVar13;" (assignment_expression "uVar6 = (int)puVar8[1] - iVar13" identifier = (binary_expression "(int)puVar8[1] - iVar13" (cast_expression "(int)puVar8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar8[1]" identifier [ number_literal ])) - identifier)) ;) (expression_statement "puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;" (assignment_expression "puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar10 = puVar10 + 2;" (assignment_expression "puVar10 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar11;" (assignment_expression "puVar8 = puVar11" identifier = identifier) ;) }) while (parenthesized_expression "(local_50 != puVar11)" ( (binary_expression "local_50 != puVar11" identifier != identifier) )) ;) (expression_statement "lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;" (assignment_expression "lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14" identifier = (binary_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14" (binary_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8" (parenthesized_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4)" ( (binary_expression "(ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4" (call_expression "(ulong)((long)local_50 + (-0x10 - (long)local_58))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)local_50 + (-0x10 - (long)local_58))" ( (binary_expression "(long)local_50 + (-0x10 - (long)local_58)" (cast_expression "(long)local_50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x10 - (long)local_58)" ( (binary_expression "-0x10 - (long)local_58" number_literal - (cast_expression "(long)local_58" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))) >> number_literal) )) * number_literal) + number_literal)) ;) }))) (if_statement "if (lVar2 != lVar9) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" if (parenthesized_expression "(lVar2 != lVar9)" ( (binary_expression "lVar2 != lVar9" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" { comment comment (expression_statement "FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");" (call_expression "FUN_0017c650("../../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 (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }" if (parenthesized_expression "(local_58 != (ulong *)0x0)" ( (binary_expression "local_58 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_002dac60();\n          return;\n        }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" else (compound_statement "{\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" { (expression_statement "puVar12[1] = 0xffff;" (assignment_expression "puVar12[1] = 0xffff" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (lVar2 != 8) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" if (parenthesized_expression "(lVar2 != 8)" ( (binary_expression "lVar2 != 8" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");" (call_expression "FUN_0017c650("../../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 "FUN_0017c650("../../gold/output.h",0xc5,"address");" (call_expression "FUN_0017c650("../../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 ") ))) ;) })))
(translation_unit "/* DWARF original name: do_sized_write<64, true>\n   DWARF original prototype: void do_sized_write<64,_true>(Eh_frame_hdr * this, Output_file * of) */\n\nvoid __thiscall gold::Eh_frame_hdr::do_sized_write<64,_true>(Eh_frame_hdr *this,Output_file *of)\n\n{\n  byte bVar1;\n  bool bVar2;\n  long lVar3;\n  ulong uVar4;\n  ulong uVar5;\n  uint64_t uVar6;\n  uint uVar7;\n  ulong uVar8;\n  pointer ppVar9;\n  long lVar10;\n  Output_file *in_RCX;\n  uint *puVar11;\n  size_t in_RDX;\n  pointer ppVar12;\n  uchar *puVar13;\n  int iVar14;\n  pointer ppVar15;\n  long lVar16;\n  Fde_addresses<64> fde_addresses;\n  \n  bVar1 = (this->super_Output_section_data).super_Output_data.field_0x20;\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  lVar10 = (this->super_Output_section_data).super_Output_data.offset_;\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = (this->super_Output_section_data).super_Output_data.data_size_;\n  if ((lVar10 < 0) || (of->file_size_ < lVar3 + lVar10)) {\n    Output_file::get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX);\n  }\n  else {\n    puVar13 = of->base_ + lVar10;\n    puVar13[0] = '\x01';\n    puVar13[1] = '\x1b';\n    if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {\n      uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n      if ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0xc5,"address");\n}\n\n" comment (declaration "void __thiscall gold::Eh_frame_hdr::do_sized_write<64,_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 "<64" < 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 "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "uint64_t uVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "pointer ppVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "Output_file *in_RCX;" type_identifier (pointer_declarator "*in_RCX" * identifier) ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "size_t in_RDX;" primitive_type identifier ;) (declaration "pointer ppVar12;" type_identifier identifier ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "pointer ppVar15;" type_identifier identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (expression_statement "Fde_addresses<64> fde_addresses;" (update_expression "Fde_addresses<64> fde_addresses" (binary_expression "Fde_addresses<64> fde_addresses" (binary_expression "Fde_addresses<64" identifier < number_literal) > identifier) --) ;) (expression_statement "bVar1 = (this->super_Output_section_data).super_Output_data.field_0x20;" (assignment_expression "bVar1 = (this->super_Output_section_data).super_Output_data.field_0x20" identifier = (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (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 "lVar10 = (this->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "lVar10 = (this->super_Output_section_data).super_Output_data.offset_" identifier = (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)) ;) (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 "lVar3 = (this->super_Output_section_data).super_Output_data.data_size_;" (assignment_expression "lVar3 = (this->super_Output_section_data).super_Output_data.data_size_" identifier = (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)) ;) (if_statement "if ((lVar10 < 0) || (of->file_size_ < lVar3 + lVar10)) {\n    Output_file::get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX);\n  }\n  else {\n    puVar13 = of->base_ + lVar10;\n    puVar13[0] = '\x01';\n    puVar13[1] = '\x1b';\n    if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {\n      uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n      if ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" if (parenthesized_expression "((lVar10 < 0) || (of->file_size_ < lVar3 + lVar10))" ( (binary_expression "(lVar10 < 0) || (of->file_size_ < lVar3 + lVar10)" (parenthesized_expression "(lVar10 < 0)" ( (binary_expression "lVar10 < 0" identifier < number_literal) )) || (parenthesized_expression "(of->file_size_ < lVar3 + lVar10)" ( (binary_expression "of->file_size_ < lVar3 + lVar10" (field_expression "of->file_size_" identifier -> field_identifier) < (binary_expression "lVar3 + lVar10" identifier + identifier)) ))) )) (compound_statement "{\n    Output_file::get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX);\n  }" { (labeled_statement "Output_file::get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX);" (call_expression "get_output_view((Output_file *)this,(off_t)of,in_RDX,in_RCX)" identifier (argument_list "((Output_file *)this,(off_t)of,in_RDX,in_RCX)" ( (cast_expression "(Output_file *)this" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(off_t)of" ( (type_descriptor "off_t" type_identifier) ) identifier) , identifier , identifier ))) ;)) }) (else_clause "else {\n    puVar13 = of->base_ + lVar10;\n    puVar13[0] = '\x01';\n    puVar13[1] = '\x1b';\n    if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {\n      uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n      if ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" else (compound_statement "{\n    puVar13 = of->base_ + lVar10;\n    puVar13[0] = '\x01';\n    puVar13[1] = '\x1b';\n    if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {\n      uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n      if ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" { (expression_statement "puVar13 = of->base_ + lVar10;" (assignment_expression "puVar13 = of->base_ + lVar10" identifier = (binary_expression "of->base_ + lVar10" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (expression_statement "puVar13[0] = '\x01';" (assignment_expression "puVar13[0] = '\x01'" (subscript_expression "puVar13[0]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "puVar13[1] = '\x1b';" (assignment_expression "puVar13[1] = '\x1b'" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = (char_literal "'\x1b'" ' escape_sequence ')) ;) (if_statement "if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {\n      uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n      if ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 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_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0))" ( (binary_expression "(((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&\n       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)" (parenthesized_expression "(((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0)" ( (binary_expression "((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0" (parenthesized_expression "((this->eh_frame_section_->super_Output_data).field_0x20 & 1)" ( (binary_expression "(this->eh_frame_section_->super_Output_data).field_0x20 & 1" (field_expression "(this->eh_frame_section_->super_Output_data).field_0x20" (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_0x20 & 1) != 0)" ( (binary_expression "((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0" (parenthesized_expression "((this->super_Output_section_data).super_Output_data.field_0x20 & 1)" ( (binary_expression "(this->super_Output_section_data).super_Output_data.field_0x20 & 1" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (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      uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;\n      if ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 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 "uVar7 = ((int)(this->eh_frame_section_->super_Output_data).address_ -\n              (int)(this->super_Output_section_data).super_Output_data.address_) - 4;" (assignment_expression "uVar7 = ((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 *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000;" (assignment_expression "*(uint *)(puVar13 + 4) =\n           uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 * 0x1000000" (pointer_expression "*(uint *)(puVar13 + 4)" * (cast_expression "(uint *)(puVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" 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 ((bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)) {\n        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }\n      else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 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<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start))" ( (binary_expression "(bVar2 == false) &&\n         ((this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_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<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start)" ( (ERROR "(this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::" (comma_expression "(this->fde_offsets_).\n          super__Vector_base<std::pair<long_int,_unsigned_char>,_std" (binary_expression "(this->fde_offsets_).\n          super__Vector_base<std::pair<long_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<long_int,_unsigned_char>_>_>\n          ._M_impl._M_finish !=\n          (this->fde_offsets_).\n          super__Vector_base<std" (binary_expression "pair<long_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<long_int,_unsigned_char>,_std" (binary_expression "pair<long_int" identifier < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_int,_unsigned_char>_>_>\n          ._M_impl._M_start" (binary_expression "pair<long_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        puVar13[2] = '\x03';\n        puVar13[3] = ';';\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;\n        uVar7 = (uint)uVar8;\n        uVar8 = uVar8 & 0xffffffff;\n        *(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }\n        fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;\n                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */\n        get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);\n        ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }\n        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        puVar11 = (uint *)(puVar13 + 0xc);\n        uVar6 = (this->super_Output_section_data).super_Output_data.address_;\n        ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }\n        if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }\n      }" { (expression_statement "puVar13[2] = '\x03';" (assignment_expression "puVar13[2] = '\x03'" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "puVar13[3] = ';';" (assignment_expression "puVar13[3] = ';'" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = (char_literal "';'" ' character ')) ;) (ERROR "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (assignment_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_start = (pointer)0x0" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (ERROR "uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std::allocator<std::" (comma_expression "uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int,_unsigned_char>,_std" (binary_expression "uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std::pair<long_int" (assignment_expression "uVar8 = (long)(this->fde_offsets_).\n                      super__Vector_base<std" identifier = (binary_expression "(long)(this->fde_offsets_).\n                      super__Vector_base<std" (cast_expression "(long)(this->fde_offsets_).\n                      super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std" (binary_expression "pair<long_int" identifier < identifier) , (binary_expression "_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(this->fde_offsets_).\n                      super__Vector_base<std" (binary_expression "_unsigned_char>_>_>\n                      ._M_impl._M_finish -\n                (long)(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 "(long)(this->fde_offsets_).\n                      super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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<long_int,_unsigned_char>,_std" (binary_expression "pair<long_int" identifier < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4;" (comma_expression "pair<long_int,_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4" (binary_expression "pair<long_int" identifier < identifier) , (binary_expression "_unsigned_char>_>_>\n                      ._M_impl._M_start >> 4" (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) >> number_literal)) ;) (expression_statement "uVar7 = (uint)uVar8;" (assignment_expression "uVar7 = (uint)uVar8" identifier = (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = uVar8 & 0xffffffff;" (assignment_expression "uVar8 = uVar8 & 0xffffffff" identifier = (binary_expression "uVar8 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "*(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "*(uint *)(puVar13 + 8) =\n             uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (pointer_expression "*(uint *)(puVar13 + 8)" * (cast_expression "(uint *)(puVar13 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 8)" ( (binary_expression "puVar13 + 8" 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))) ;) (ERROR "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (assignment_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_finish = (pointer)0x0" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (ERROR "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (assignment_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_end_of_storage" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (if_statement "if (uVar8 != 0) {\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */\n          ppVar9 = (pointer)operator_new(uVar8 * 0x10);\n          if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;\n          fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;\n        }" { comment (expression_statement "ppVar9 = (pointer)operator_new(uVar8 * 0x10);" (assignment_expression "ppVar9 = (pointer)operator_new(uVar8 * 0x10)" identifier = (cast_expression "(pointer)operator_new(uVar8 * 0x10)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(uVar8 * 0x10)" identifier (argument_list "(uVar8 * 0x10)" ( (binary_expression "uVar8 * 0x10" identifier * number_literal) ))))) ;) (if_statement "if (fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0) {\n            operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0)" ( (ERROR "fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n              super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n              ._M_impl._M_start != (pointer)0x0" (field_expression "_long_unsigned_int>_>_>\n              ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n              ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_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<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);\n          }" { (expression_statement "operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start);" (call_expression "operator_delete(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start)" identifier (argument_list "(fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                            ._M_impl._M_start)" ( (binary_expression "fde_addresses.fde_addresses_.\n                            super__Vector_base<std::pair<long_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<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                            ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                            ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (ERROR "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (assignment_expression "_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage = ppVar9 + uVar8" (field_expression "_long_unsigned_int>_>_>\n          ._M_impl._M_end_of_storage" (field_expression "_long_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "ppVar9 + uVar8" identifier + identifier))) ;) (ERROR "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n          super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (assignment_expression "_long_unsigned_int>_>_>\n          ._M_impl._M_finish = ppVar9" (field_expression "_long_unsigned_int>_>_>\n          ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n          ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)) ;) })) (ERROR "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n        super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (assignment_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_start =\n             fde_addresses.fde_addresses_.\n             super__Vector_base<std" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n        ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_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<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n             ._M_impl._M_finish" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n             ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n             ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) comment (expression_statement "get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses);" (comma_expression "get_fde_addresses<64,_true>(this,of,&this->fde_offsets_,&fde_addresses)" (binary_expression "get_fde_addresses<64" 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 "ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "ppVar12 = fde_addresses.fde_addresses_.\n                  super__Vector_base<std::pair<long_unsigned_int" (assignment_expression "ppVar12 = 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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                  ._M_impl._M_finish" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                  ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n                  ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (ERROR "ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int" (assignment_expression "ppVar9 = 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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                 ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                 ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish)" ( (ERROR "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_start !=\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_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<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n          lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;\n          uVar8 = lVar16 >> 4;\n          lVar10 = 0x3f;\n          if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }\n          std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);\n          if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }\n        }" { (ERROR "lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std::pair<long_unsigned_int" (assignment_expression "lVar16 = (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std" identifier = (binary_expression "(long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std" (cast_expression "(long)fde_addresses.fde_addresses_.\n                         super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base<std" (binary_expression "_long_unsigned_int>_>_>\n                         ._M_impl._M_finish -\n                   (long)fde_addresses.fde_addresses_.\n                         super__Vector_base" (field_expression "_long_unsigned_int>_>_>\n                         ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n                         ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)fde_addresses.fde_addresses_.\n                         super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                         ._M_impl._M_start" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                         ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                         ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (expression_statement "uVar8 = lVar16 >> 4;" (assignment_expression "uVar8 = lVar16 >> 4" identifier = (binary_expression "lVar16 >> 4" identifier >> number_literal)) ;) (expression_statement "lVar10 = 0x3f;" (assignment_expression "lVar10 = 0x3f" identifier = number_literal) ;) (if_statement "if (uVar8 != 0) {\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }\n          }" { (for_statement "for (; uVar8 >> lVar10 == 0; lVar10 = lVar10 + -1) {\n            }" for ( ; (binary_expression "uVar8 >> lVar10 == 0" (binary_expression "uVar8 >> lVar10" identifier >> identifier) == number_literal) ; (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ) (compound_statement "{\n            }" { })) })) (labeled_statement "std::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);" statement_identifier (ERROR "::\n          __introsort_loop<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx:" : : (binary_expression "__introsort_loop<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>*,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (comma_expression "_long_unsigned_int>_>_>_>,_long_int,___gnu_cxx" (binary_expression "_long_unsigned_int>_>_>_>,_long_int" (binary_expression "_long_unsigned_int>_>_>_" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) , identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (labeled_statement "Eh_frame_hdr::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);" statement_identifier (ERROR "::Fde_address_compare<64>_>_>\n                    (fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std:" : : (binary_expression "Fde_address_compare<64>_>_" (binary_expression "Fde_address_compare<64>_" (binary_expression "Fde_address_compare<64" 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<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (comma_expression "_long_unsigned_int>_>_>\n                     ._M_impl._M_start,\n                     fde_addresses.fde_addresses_.\n                     super__Vector_base<std" (field_expression "_long_unsigned_int>_>_>\n                     ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                     ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_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<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2);" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (comma_expression "_long_unsigned_int>_>_>\n                     ._M_impl._M_finish,(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2" (field_expression "_long_unsigned_int>_>_>\n                     ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n                     ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (binary_expression "(0x3f - (long)(int)((uint)lVar10 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar10 ^ 0x3f))" ( (binary_expression "0x3f - (long)(int)((uint)lVar10 ^ 0x3f)" number_literal - (cast_expression "(long)(int)((uint)lVar10 ^ 0x3f)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)((uint)lVar10 ^ 0x3f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)lVar10 ^ 0x3f)" ( (binary_expression "(uint)lVar10 ^ 0x3f" (cast_expression "(uint)lVar10" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) ))))) )) * number_literal))) (ERROR ")" )) ;)))) (if_statement "if (lVar16 < 0x101) {\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }\n          else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }" if (parenthesized_expression "(lVar16 < 0x101)" ( (binary_expression "lVar16 < 0x101" identifier < number_literal) )) (compound_statement "{\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);\n          }" { (labeled_statement "std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);" statement_identifier (ERROR "::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx:" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>*,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>_>,___gnu_cxx" (binary_expression "_long_unsigned_int>_>_>_" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (labeled_statement "Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);" statement_identifier : (ERROR ":" :) (expression_statement "Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12);" (binary_expression "Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar12)" (binary_expression "Fde_address_compare<64>_>_" (binary_expression "Fde_address_compare<64>_" (binary_expression "Fde_address_compare<64" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(ppVar9,ppVar12)" ( (comma_expression "ppVar9,ppVar12" identifier , identifier) ))) ;)))) }) (else_clause "else {\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }" else (compound_statement "{\n            ppVar15 = ppVar9 + 0x10;\n            std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);\n            for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }\n          }" { (expression_statement "ppVar15 = ppVar9 + 0x10;" (assignment_expression "ppVar15 = ppVar9 + 0x10" identifier = (binary_expression "ppVar9 + 0x10" identifier + number_literal)) ;) (labeled_statement "std::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);" statement_identifier (ERROR "::\n            __insertion_sort<__gnu_cxx::__normal_iterator<std::pair<long_unsigned_int,_long_unsigned_int>*,_std::vector<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx:" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>*,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>_>,___gnu_cxx" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>_>,___gnu_cxx" (binary_expression "_long_unsigned_int>_>_>_" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (labeled_statement "Eh_frame_hdr::Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);" statement_identifier : (ERROR ":" :) (expression_statement "Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15);" (binary_expression "Fde_address_compare<64>_>_>\n                      (ppVar9,ppVar15)" (binary_expression "Fde_address_compare<64>_>_" (binary_expression "Fde_address_compare<64>_" (binary_expression "Fde_address_compare<64" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(ppVar9,ppVar15)" ( (comma_expression "ppVar9,ppVar15" identifier , identifier) ))) ;)))) (for_statement "for (; ppVar12 != ppVar15; ppVar15 = ppVar15 + 1) {\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }" for ( ; (binary_expression "ppVar12 != ppVar15" identifier != identifier) ; (assignment_expression "ppVar15 = ppVar15 + 1" identifier = (binary_expression "ppVar15 + 1" identifier + number_literal)) ) (compound_statement "{\n              uVar8 = ppVar15->first;\n              uVar5 = ppVar15->second;\n              uVar4 = ppVar15[-1].first;\n              ppVar9 = ppVar15;\n              while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }\n              ppVar9->first = uVar8;\n              ppVar9->second = uVar5;\n            }" { (expression_statement "uVar8 = ppVar15->first;" (assignment_expression "uVar8 = ppVar15->first" identifier = (field_expression "ppVar15->first" identifier -> field_identifier)) ;) (expression_statement "uVar5 = ppVar15->second;" (assignment_expression "uVar5 = ppVar15->second" identifier = (field_expression "ppVar15->second" identifier -> field_identifier)) ;) (expression_statement "uVar4 = ppVar15[-1].first;" (assignment_expression "uVar4 = ppVar15[-1].first" identifier = (field_expression "ppVar15[-1].first" (subscript_expression "ppVar15[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "ppVar9 = ppVar15;" (assignment_expression "ppVar9 = ppVar15" identifier = identifier) ;) (while_statement "while (uVar8 < uVar4) {\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }" while (parenthesized_expression "(uVar8 < uVar4)" ( (binary_expression "uVar8 < uVar4" identifier < identifier) )) (compound_statement "{\n                ppVar9->first = uVar4;\n                ppVar9->second = ppVar9[-1].second;\n                uVar4 = ppVar9[-2].first;\n                ppVar9 = ppVar9 + -1;\n              }" { (expression_statement "ppVar9->first = uVar4;" (assignment_expression "ppVar9->first = uVar4" (field_expression "ppVar9->first" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar9->second = ppVar9[-1].second;" (assignment_expression "ppVar9->second = ppVar9[-1].second" (field_expression "ppVar9->second" identifier -> field_identifier) = (field_expression "ppVar9[-1].second" (subscript_expression "ppVar9[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar4 = ppVar9[-2].first;" (assignment_expression "uVar4 = ppVar9[-2].first" identifier = (field_expression "ppVar9[-2].first" (subscript_expression "ppVar9[-2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "ppVar9 = ppVar9 + -1;" (assignment_expression "ppVar9 = ppVar9 + -1" identifier = (binary_expression "ppVar9 + -1" identifier + number_literal)) ;) })) (expression_statement "ppVar9->first = uVar8;" (assignment_expression "ppVar9->first = uVar8" (field_expression "ppVar9->first" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar9->second = uVar5;" (assignment_expression "ppVar9->second = uVar5" (field_expression "ppVar9->second" identifier -> field_identifier) = identifier) ;) })) }))) })) (if_statement "if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "(((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((this->super_Output_section_data).super_Output_data.field_0x20 & 1)" ( (binary_expression "(this->super_Output_section_data).super_Output_data.field_0x20 & 1" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (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          do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" { 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 "puVar11 = (uint *)(puVar13 + 0xc);" (assignment_expression "puVar11 = (uint *)(puVar13 + 0xc)" identifier = (cast_expression "(uint *)(puVar13 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0xc)" ( (binary_expression "puVar13 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar6 = (this->super_Output_section_data).super_Output_data.address_;" (assignment_expression "uVar6 = (this->super_Output_section_data).super_Output_data.address_" identifier = (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)) ;) (ERROR "ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "ppVar9 = fde_addresses.fde_addresses_.\n                 super__Vector_base<std::pair<long_unsigned_int" (assignment_expression "ppVar9 = 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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start;" (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                 ._M_impl._M_start" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                 ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                 ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish) {\n          lVar10 = 0xc;\n        }\n        else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish)" ( (ERROR "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_start ==\n            fde_addresses.fde_addresses_.\n            super__Vector_base<std" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_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<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_finish" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n          lVar10 = 0xc;\n        }" { (expression_statement "lVar10 = 0xc;" (assignment_expression "lVar10 = 0xc" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }" else (compound_statement "{\n          do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);\n          lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;\n        }" { (do_statement "do {\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          } while (fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12);" do (compound_statement "{\n            ppVar12 = ppVar9 + 1;\n            iVar14 = (int)uVar6;\n            uVar7 = (int)ppVar9->first - iVar14;\n            *puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;\n            uVar7 = (int)ppVar9->second - iVar14;\n            puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;\n            puVar11 = puVar11 + 2;\n            ppVar9 = ppVar12;\n          }" { (expression_statement "ppVar12 = ppVar9 + 1;" (assignment_expression "ppVar12 = ppVar9 + 1" identifier = (binary_expression "ppVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = (int)uVar6;" (assignment_expression "iVar14 = (int)uVar6" identifier = (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar7 = (int)ppVar9->first - iVar14;" (assignment_expression "uVar7 = (int)ppVar9->first - iVar14" identifier = (binary_expression "(int)ppVar9->first - iVar14" (cast_expression "(int)ppVar9->first" ( (type_descriptor "int" primitive_type) ) (field_expression "ppVar9->first" identifier -> field_identifier)) - identifier)) ;) (expression_statement "*puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000;" (assignment_expression "*puVar11 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                       uVar7 * 0x1000000" (pointer_expression "*puVar11" * 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 = (int)ppVar9->second - iVar14;" (assignment_expression "uVar7 = (int)ppVar9->second - iVar14" identifier = (binary_expression "(int)ppVar9->second - iVar14" (cast_expression "(int)ppVar9->second" ( (type_descriptor "int" primitive_type) ) (field_expression "ppVar9->second" identifier -> field_identifier)) - identifier)) ;) (expression_statement "puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000;" (assignment_expression "puVar11[1] = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                         uVar7 * 0x1000000" (subscript_expression "puVar11[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 "puVar11 = puVar11 + 2;" (assignment_expression "puVar11 = puVar11 + 2" identifier = (binary_expression "puVar11 + 2" identifier + number_literal)) ;) (expression_statement "ppVar9 = ppVar12;" (assignment_expression "ppVar9 = ppVar12" identifier = identifier) ;) }) while (parenthesized_expression "(fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12)" ( (ERROR "fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n                   super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n                   ._M_impl._M_finish != ppVar12" (field_expression "_long_unsigned_int>_>_>\n                   ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n                   ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier)) )) ;) (expression_statement "lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;" (assignment_expression "lVar10 = ((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14" identifier = (binary_expression "((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8 + 0x14" (binary_expression "((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4) * 8" (parenthesized_expression "((ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4)" ( (binary_expression "(ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)) >> 4" (call_expression "(ulong)((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start))" ( (binary_expression "(long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std::pair<long_unsigned_int" (binary_expression "(long)fde_addresses.fde_addresses_.\n                                  super__Vector_base<std" (cast_expression "(long)fde_addresses.fde_addresses_.\n                                  super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish +\n                           (-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)" (field_expression "_long_unsigned_int>_>_>\n                                  ._M_impl._M_finish" (field_expression "_long_unsigned_int>_>_>\n                                  ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (parenthesized_expression "(-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start)" ( (ERROR "-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std::pair<long_unsigned_int" (binary_expression "-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base<std" (binary_expression "-0x10 - (long)fde_addresses.fde_addresses_.\n                                          super__Vector_base" number_literal - (cast_expression "(long)fde_addresses.fde_addresses_.\n                                          super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n                                          ._M_impl._M_start" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                                          ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                                          ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ))) ))) >> number_literal) )) * number_literal) + number_literal)) ;) }))) (if_statement "if (lVar3 != lVar10) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\n          do_gold_unreachable("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" if (parenthesized_expression "(lVar3 != lVar10)" ( (binary_expression "lVar3 != lVar10" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */\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<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0) {\n          operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }" if (parenthesized_expression "(fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0)" ( (ERROR "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::" (comma_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "fde_addresses.fde_addresses_.\n            super__Vector_base<std::pair<long_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 "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_unsigned_int,_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_start != (pointer)0x0" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n            ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_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<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);\n          return;\n        }" { (expression_statement "operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start);" (call_expression "operator_delete(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start)" identifier (argument_list "(fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_unsigned_int,_long_unsigned_int>,_std::allocator<std::pair<long_unsigned_int,_long_unsigned_int>_>_>\n                          ._M_impl._M_start)" ( (binary_expression "fde_addresses.fde_addresses_.\n                          super__Vector_base<std::pair<long_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<long_unsigned_int" identifier < identifier) , (field_expression "_long_unsigned_int>_>_>\n                          ._M_impl._M_start" (field_expression "_long_unsigned_int>_>_>\n                          ._M_impl" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" else (compound_statement "{\n        puVar13[2] = 0xff;\n        puVar13[3] = 0xff;\n        if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" { (expression_statement "puVar13[2] = 0xff;" (assignment_expression "puVar13[2] = 0xff" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[3] = 0xff;" (assignment_expression "puVar13[3] = 0xff" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (lVar3 != 8) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" if (parenthesized_expression "(lVar3 != 8)" ( (binary_expression "lVar3 != 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_002b04e0(long param_1,long param_2)\n\n{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}\n\n" (function_definition "void FUN_002b04e0(long param_1,long param_2)\n\n{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}" primitive_type (function_declarator "FUN_002b04e0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined2 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "ulong *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "ulong *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "ulong *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (if_statement "if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 4) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 4)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 4" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }" { (expression_statement "FUN_0017c650("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_0017c650("../../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 "lVar9 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar9 = *(long *)(param_1 + 0x18)" identifier = (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 2)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 2" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }" { (expression_statement "FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_0017c650("../../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 "lVar2 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" if (parenthesized_expression "((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9))" ( (binary_expression "(lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)" (parenthesized_expression "(lVar9 < 0)" ( (binary_expression "lVar9 < 0" identifier < number_literal) )) || (parenthesized_expression "(*(long *)(param_2 + 0x10) < lVar2 + lVar9)" ( (binary_expression "*(long *)(param_2 + 0x10) < lVar2 + lVar9" (pointer_expression "*(long *)(param_2 + 0x10)" * (cast_expression "(long *)(param_2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) < (binary_expression "lVar2 + lVar9" identifier + identifier)) ))) )) (compound_statement "{\n    FUN_002a7b90();\n  }" { (expression_statement "FUN_002a7b90();" (call_expression "FUN_002a7b90()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" else (compound_statement "{\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" { (expression_statement "puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));" (assignment_expression "puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18))" identifier = (cast_expression "(undefined2 *)(lVar9 + *(long *)(param_2 + 0x18))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + *(long *)(param_2 + 0x18))" ( (binary_expression "lVar9 + *(long *)(param_2 + 0x18)" identifier + (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar12 = 0x1b01;" (assignment_expression "*puVar12 = 0x1b01" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (if_statement "if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }" if (parenthesized_expression "(((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0))" ( (binary_expression "((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)" (parenthesized_expression "((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1)" ( (binary_expression "*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1" (pointer_expression "*(byte *)(*(long *)(param_1 + 0x38) + 0x20)" * (cast_expression "(byte *)(*(long *)(param_1 + 0x38) + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x20)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }" { (expression_statement "uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;" (assignment_expression "uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4" identifier = (binary_expression "((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4" (parenthesized_expression "((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8))" ( (binary_expression "(int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)" (cast_expression "(int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) - (cast_expression "(int)*(undefined8 *)(param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) )) - number_literal)) ;) (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" identifier = (pointer_expression "*(char *)(param_1 + 0x60)" * (cast_expression "(char *)(param_1 + 0x60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;" (assignment_expression "*(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000" (pointer_expression "*(uint *)(puVar12 + 2)" * (cast_expression "(uint *)(puVar12 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 2)" ( (binary_expression "puVar12 + 2" identifier + number_literal) )))) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 * 0x1000000" identifier * number_literal))) ;) (if_statement "if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" if (parenthesized_expression "((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48)))" ( (binary_expression "(cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))" ( (binary_expression "*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48)" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ))) )) (compound_statement "{\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }" { (expression_statement "puVar12[1] = 0x3b03;" (assignment_expression "puVar12[1] = 0x3b03" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_58 = (ulong *)0x0;" (assignment_expression "local_58 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;" (assignment_expression "uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4" identifier = (binary_expression "*(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4" (binary_expression "*(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48)" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x48)" * (cast_expression "(long *)(param_1 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "uVar6 = (uint)uVar7;" (assignment_expression "uVar6 = (uint)uVar7" identifier = (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = uVar7 & 0xffffffff;" (assignment_expression "uVar7 = uVar7 & 0xffffffff" identifier = (binary_expression "uVar7 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "*(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "*(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (pointer_expression "*(uint *)(puVar12 + 4)" * (cast_expression "(uint *)(puVar12 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 4)" ( (binary_expression "puVar12 + 4" identifier + number_literal) )))) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 << 0x18" identifier << number_literal))) ;) (expression_statement "local_50 = (ulong *)0x0;" (assignment_expression "local_50 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = (ulong *)0x0;" (assignment_expression "local_48 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }" { (expression_statement "puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);" (assignment_expression "puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10)" identifier = (cast_expression "(ulong *)FUN_002d9490(uVar7 * 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(uVar7 * 0x10)" identifier (argument_list "(uVar7 * 0x10)" ( (binary_expression "uVar7 * 0x10" identifier * number_literal) ))))) ;) (if_statement "if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }" if (parenthesized_expression "(local_58 != (ulong *)0x0)" ( (binary_expression "local_58 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            FUN_002dac60();\n          }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_48 = puVar8 + uVar7 * 2;" (assignment_expression "local_48 = puVar8 + uVar7 * 2" identifier = (binary_expression "puVar8 + uVar7 * 2" identifier + (binary_expression "uVar7 * 2" identifier * number_literal))) ;) (expression_statement "local_50 = puVar8;" (assignment_expression "local_50 = puVar8" identifier = identifier) ;) })) (expression_statement "local_58 = local_50;" (assignment_expression "local_58 = local_50" identifier = identifier) ;) (expression_statement "FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);" (call_expression "FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58)" identifier (argument_list "(param_1,param_2,param_1 + 0x48,&local_58)" ( identifier , identifier , (binary_expression "param_1 + 0x48" identifier + number_literal) , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "puVar11 = local_50;" (assignment_expression "puVar11 = local_50" identifier = identifier) ;) (expression_statement "puVar8 = local_58;" (assignment_expression "puVar8 = local_58" identifier = identifier) ;) (if_statement "if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }" if (parenthesized_expression "(local_58 != local_50)" ( (binary_expression "local_58 != local_50" identifier != identifier) )) (compound_statement "{\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }" { (expression_statement "lVar15 = (long)local_50 - (long)local_58;" (assignment_expression "lVar15 = (long)local_50 - (long)local_58" identifier = (binary_expression "(long)local_50 - (long)local_58" (cast_expression "(long)local_50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_58" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar7 = lVar15 >> 4;" (assignment_expression "uVar7 = lVar15 >> 4" identifier = (binary_expression "lVar15 >> 4" identifier >> number_literal)) ;) (expression_statement "lVar9 = 0x3f;" (assignment_expression "lVar9 = 0x3f" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }" { (for_statement "for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }" for ( ; (binary_expression "uVar7 >> lVar9 == 0" (binary_expression "uVar7 >> lVar9" identifier >> identifier) == number_literal) ; (assignment_expression "lVar9 = lVar9 + -1" identifier = (binary_expression "lVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            }" { })) })) (expression_statement "FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);" (call_expression "FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2)" identifier (argument_list "(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2)" ( identifier , identifier , (binary_expression "(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar9 ^ 0x3f))" ( (binary_expression "0x3f - (long)(int)((uint)lVar9 ^ 0x3f)" number_literal - (cast_expression "(long)(int)((uint)lVar9 ^ 0x3f)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)((uint)lVar9 ^ 0x3f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)lVar9 ^ 0x3f)" ( (binary_expression "(uint)lVar9 ^ 0x3f" (cast_expression "(uint)lVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) ))))) )) * number_literal) ))) ;) (if_statement "if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" if (parenthesized_expression "(lVar15 < 0x101)" ( (binary_expression "lVar15 < 0x101" identifier < number_literal) )) (compound_statement "{\n            FUN_002ab250(puVar8,puVar11);\n          }" { (expression_statement "FUN_002ab250(puVar8,puVar11);" (call_expression "FUN_002ab250(puVar8,puVar11)" identifier (argument_list "(puVar8,puVar11)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" else (compound_statement "{\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" { (expression_statement "puVar14 = puVar8 + 0x20;" (assignment_expression "puVar14 = puVar8 + 0x20" identifier = (binary_expression "puVar8 + 0x20" identifier + number_literal)) ;) (expression_statement "FUN_002ab250(puVar8,puVar14);" (call_expression "FUN_002ab250(puVar8,puVar14)" identifier (argument_list "(puVar8,puVar14)" ( identifier , identifier ))) ;) (for_statement "for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }" for ( ; (binary_expression "puVar11 != puVar14" identifier != identifier) ; (assignment_expression "puVar14 = puVar14 + 2" identifier = (binary_expression "puVar14 + 2" identifier + number_literal)) ) (compound_statement "{\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }" { (expression_statement "uVar7 = *puVar14;" (assignment_expression "uVar7 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "uVar4 = puVar14[1];" (assignment_expression "uVar4 = puVar14[1]" identifier = (subscript_expression "puVar14[1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = puVar14[-2];" (assignment_expression "uVar3 = puVar14[-2]" identifier = (subscript_expression "puVar14[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = puVar14;" (assignment_expression "puVar8 = puVar14" identifier = identifier) ;) (while_statement "while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }" while (parenthesized_expression "(uVar7 < uVar3)" ( (binary_expression "uVar7 < uVar3" identifier < identifier) )) (compound_statement "{\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }" { (expression_statement "*puVar8 = uVar3;" (assignment_expression "*puVar8 = uVar3" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = puVar8[-1];" (assignment_expression "puVar8[1] = puVar8[-1]" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (subscript_expression "puVar8[-1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = puVar8[-4];" (assignment_expression "uVar3 = puVar8[-4]" identifier = (subscript_expression "puVar8[-4]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = puVar8 + -2;" (assignment_expression "puVar8 = puVar8 + -2" identifier = (binary_expression "puVar8 + -2" identifier + number_literal)) ;) })) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = uVar4;" (assignment_expression "puVar8[1] = uVar4" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) })) }))) })) (if_statement "if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }" { (expression_statement "FUN_0017c650("../../gold/output.h",0xc5,"address");" (call_expression "FUN_0017c650("../../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 "puVar10 = (uint *)(puVar12 + 6);" (assignment_expression "puVar10 = (uint *)(puVar12 + 6)" identifier = (cast_expression "(uint *)(puVar12 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 6)" ( (binary_expression "puVar12 + 6" identifier + number_literal) )))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 8);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = local_58;" (assignment_expression "puVar8 = local_58" identifier = identifier) ;) (if_statement "if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" if (parenthesized_expression "(local_58 == local_50)" ( (binary_expression "local_58 == local_50" identifier == identifier) )) (compound_statement "{\n          lVar9 = 0xc;\n        }" { (expression_statement "lVar9 = 0xc;" (assignment_expression "lVar9 = 0xc" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" else (compound_statement "{\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" { (do_statement "do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);" do (compound_statement "{\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          }" { (expression_statement "puVar11 = puVar8 + 2;" (assignment_expression "puVar11 = puVar8 + 2" identifier = (binary_expression "puVar8 + 2" identifier + number_literal)) ;) (expression_statement "iVar13 = (int)uVar5;" (assignment_expression "iVar13 = (int)uVar5" identifier = (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar6 = (int)*puVar8 - iVar13;" (assignment_expression "uVar6 = (int)*puVar8 - iVar13" identifier = (binary_expression "(int)*puVar8 - iVar13" (cast_expression "(int)*puVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar8" * identifier)) - identifier)) ;) (expression_statement "*puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;" (assignment_expression "*puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000" (pointer_expression "*puVar10" * identifier) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 * 0x1000000" identifier * number_literal))) ;) (expression_statement "uVar6 = (int)puVar8[1] - iVar13;" (assignment_expression "uVar6 = (int)puVar8[1] - iVar13" identifier = (binary_expression "(int)puVar8[1] - iVar13" (cast_expression "(int)puVar8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar8[1]" identifier [ number_literal ])) - identifier)) ;) (expression_statement "puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;" (assignment_expression "puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar10 = puVar10 + 2;" (assignment_expression "puVar10 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar11;" (assignment_expression "puVar8 = puVar11" identifier = identifier) ;) }) while (parenthesized_expression "(local_50 != puVar11)" ( (binary_expression "local_50 != puVar11" identifier != identifier) )) ;) (expression_statement "lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;" (assignment_expression "lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14" identifier = (binary_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14" (binary_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8" (parenthesized_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4)" ( (binary_expression "(ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4" (call_expression "(ulong)((long)local_50 + (-0x10 - (long)local_58))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)local_50 + (-0x10 - (long)local_58))" ( (binary_expression "(long)local_50 + (-0x10 - (long)local_58)" (cast_expression "(long)local_50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x10 - (long)local_58)" ( (binary_expression "-0x10 - (long)local_58" number_literal - (cast_expression "(long)local_58" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))) >> number_literal) )) * number_literal) + number_literal)) ;) }))) (if_statement "if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" if (parenthesized_expression "(lVar2 != lVar9)" ( (binary_expression "lVar2 != lVar9" identifier != identifier) )) (compound_statement "{\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" { (expression_statement "FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");" (call_expression "FUN_0017c650("../../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 (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }" if (parenthesized_expression "(local_58 != (ulong *)0x0)" ( (binary_expression "local_58 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_002dac60();\n          return;\n        }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" else (compound_statement "{\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" { (expression_statement "puVar12[1] = 0xffff;" (assignment_expression "puVar12[1] = 0xffff" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" if (parenthesized_expression "(lVar2 != 8)" ( (binary_expression "lVar2 != 8" identifier != number_literal) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" { (expression_statement "FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");" (call_expression "FUN_0017c650("../../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 ;) })) }))) (expression_statement "FUN_0017c650("../../gold/output.h",0xc5,"address");" (call_expression "FUN_0017c650("../../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 ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + IDENT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (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 (sized_type_specifier long) (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 (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) - (cast_expression ( (type_descriptor TYPE) ) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (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))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 ( (binary_expression IDENT * LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) 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 - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT) ))))) )) * LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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 ))) ;) (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 ") ))) ;) })) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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 (cast_expression ( (type_descriptor TYPE) ) (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 (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ))) >> LIT) )) * LIT) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }))) (return_statement return ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_002b04e0(long param_1,long param_2)\n\n{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}" (primitive_type "void") (function_declarator "FUN_002b04e0(long param_1,long param_2)" (identifier "FUN_002b04e0") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  ulong uVar3;\n  ulong uVar4;\n  undefined8 uVar5;\n  uint uVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  long lVar9;\n  uint *puVar10;\n  ulong *puVar11;\n  undefined2 *puVar12;\n  int iVar13;\n  ulong *puVar14;\n  long lVar15;\n  ulong *local_58;\n  ulong *local_50;\n  ulong *local_48;\n  \n  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }\n  lVar9 = *(long *)(param_1 + 0x18);\n  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)(param_1 + 0x10);\n  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }\n                    \n  FUN_0017c650("../../gold/output.h",0xc5,"address");\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "ulong uVar3;" (type_identifier "ulong") (identifier "uVar3") (; ";")) (declaration "ulong uVar4;" (type_identifier "ulong") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "ulong *puVar8;" (type_identifier "ulong") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "long lVar9;" (sized_type_specifier "long" (long "long")) (identifier "lVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "ulong *puVar11;" (type_identifier "ulong") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined2 *puVar12;" (type_identifier "undefined2") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "ulong *puVar14;" (type_identifier "ulong") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "ulong *local_58;" (type_identifier "ulong") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "ulong *local_50;" (type_identifier "ulong") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "ulong *local_48;" (type_identifier "ulong") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0x20) & 4) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 4)" (( "(") (binary_expression "*(byte *)(param_1 + 0x20) & 4" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.h",0xe3,"offset");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_0017c650("../../gold/output.h",0xe3,"offset")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0xe3,"offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar9 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar9 = *(long *)(param_1 + 0x18)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(param_1 + 0x18)" (* "*") (cast_expression "(long *)(param_1 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0x20) & 2) == 0) {\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0x20) & 2" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar2 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {\n    FUN_002a7b90();\n  }\n  else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" (if "if") (parenthesized_expression "((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9))" (( "(") (binary_expression "(lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)" (parenthesized_expression "(lVar9 < 0)" (( "(") (binary_expression "lVar9 < 0" (identifier "lVar9") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(long *)(param_2 + 0x10) < lVar2 + lVar9)" (( "(") (binary_expression "*(long *)(param_2 + 0x10) < lVar2 + lVar9" (pointer_expression "*(long *)(param_2 + 0x10)" (* "*") (cast_expression "(long *)(param_2 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (binary_expression "lVar2 + lVar9" (identifier "lVar2") (+ "+") (identifier "lVar9"))) () ")"))) () ")")) (compound_statement "{\n    FUN_002a7b90();\n  }" ({ "{") (expression_statement "FUN_002a7b90();" (call_expression "FUN_002a7b90()" (identifier "FUN_002a7b90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));\n    *puVar12 = 0x1b01;\n    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }\n  }" ({ "{") (expression_statement "puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));" (assignment_expression "puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18))" (identifier "puVar12") (= "=") (cast_expression "(undefined2 *)(lVar9 + *(long *)(param_2 + 0x18))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + *(long *)(param_2 + 0x18))" (( "(") (binary_expression "lVar9 + *(long *)(param_2 + 0x18)" (identifier "lVar9") (+ "+") (pointer_expression "*(long *)(param_2 + 0x18)" (* "*") (cast_expression "(long *)(param_2 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) () ")")))) (; ";")) (expression_statement "*puVar12 = 0x1b01;" (assignment_expression "*puVar12 = 0x1b01" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "0x1b01")) (; ";")) (if_statement "if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0))" (( "(") (binary_expression "((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&\n       ((*(byte *)(param_1 + 0x20) & 1) != 0)" (parenthesized_expression "((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1" (pointer_expression "*(byte *)(*(long *)(param_1 + 0x38) + 0x20)" (* "*") (cast_expression "(byte *)(*(long *)(param_1 + 0x38) + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x20)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + 0x20" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;\n      cVar1 = *(char *)(param_1 + 0x60);\n      *(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;\n      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }\n      return;\n    }" ({ "{") (expression_statement "uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4;" (assignment_expression "uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4" (identifier "uVar6") (= "=") (binary_expression "((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)) - 4" (parenthesized_expression "((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8))" (( "(") (binary_expression "(int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -\n              (int)*(undefined8 *)(param_1 + 8)" (cast_expression "(int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (- "-") (cast_expression "(int)*(undefined8 *)(param_1 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(undefined8 *)(param_1 + 8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))))) () ")")) (- "-") (number_literal "4"))) (; ";")) (expression_statement "cVar1 = *(char *)(param_1 + 0x60);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x60)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(param_1 + 0x60)" (* "*") (cast_expression "(char *)(param_1 + 0x60)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;" (assignment_expression "*(uint *)(puVar12 + 2) =\n           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000" (pointer_expression "*(uint *)(puVar12 + 2)" (* "*") (cast_expression "(uint *)(puVar12 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 2)" (( "(") (binary_expression "puVar12 + 2" (identifier "puVar12") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" (( "(") (binary_expression "uVar6 & 0xff0000" (identifier "uVar6") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" (( "(") (binary_expression "uVar6 & 0xff00" (identifier "uVar6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar6 * 0x1000000" (identifier "uVar6") (* "*") (number_literal "0x1000000")))) (; ";")) (if_statement "if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }\n      else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" (if "if") (parenthesized_expression "((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48)))" (( "(") (binary_expression "(cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))" (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))" (( "(") (binary_expression "*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48)" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (pointer_expression "*(long *)(param_1 + 0x48)" (* "*") (cast_expression "(long *)(param_1 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n        puVar12[1] = 0x3b03;\n        local_58 = (ulong *)0x0;\n        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;\n        uVar6 = (uint)uVar7;\n        uVar7 = uVar7 & 0xffffffff;\n        *(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n        local_50 = (ulong *)0x0;\n        local_48 = (ulong *)0x0;\n        if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }\n        local_58 = local_50;\n                    \n        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);\n        puVar11 = local_50;\n        puVar8 = local_58;\n        if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }\n        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }\n        puVar10 = (uint *)(puVar12 + 6);\n        uVar5 = *(undefined8 *)(param_1 + 8);\n        puVar8 = local_58;\n        if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }\n        if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }\n        if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }\n      }" ({ "{") (expression_statement "puVar12[1] = 0x3b03;" (assignment_expression "puVar12[1] = 0x3b03" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x3b03")) (; ";")) (expression_statement "local_58 = (ulong *)0x0;" (assignment_expression "local_58 = (ulong *)0x0" (identifier "local_58") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;" (assignment_expression "uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4" (identifier "uVar7") (= "=") (binary_expression "*(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4" (binary_expression "*(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48)" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x48)" (* "*") (cast_expression "(long *)(param_1 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar6 = (uint)uVar7;" (assignment_expression "uVar6 = (uint)uVar7" (identifier "uVar6") (= "=") (cast_expression "(uint)uVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = uVar7 & 0xffffffff;" (assignment_expression "uVar7 = uVar7 & 0xffffffff" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xffffffff" (identifier "uVar7") (& "&") (number_literal "0xffffffff"))) (; ";")) (expression_statement "*(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "*(uint *)(puVar12 + 4) =\n             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (pointer_expression "*(uint *)(puVar12 + 4)" (* "*") (cast_expression "(uint *)(puVar12 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 4)" (( "(") (binary_expression "puVar12 + 4" (identifier "puVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" (( "(") (binary_expression "uVar6 & 0xff0000" (identifier "uVar6") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" (( "(") (binary_expression "uVar6 & 0xff00" (identifier "uVar6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar6 << 0x18" (identifier "uVar6") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_50 = (ulong *)0x0;" (assignment_expression "local_50 = (ulong *)0x0" (identifier "local_50") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_48 = (ulong *)0x0;" (assignment_expression "local_48 = (ulong *)0x0" (identifier "local_48") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (uVar7 != 0) {\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);\n          if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }\n          local_48 = puVar8 + uVar7 * 2;\n          local_50 = puVar8;\n        }" ({ "{") (expression_statement "puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);" (assignment_expression "puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10)" (identifier "puVar8") (= "=") (cast_expression "(ulong *)FUN_002d9490(uVar7 * 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(uVar7 * 0x10)" (identifier "FUN_002d9490") (argument_list "(uVar7 * 0x10)" (( "(") (binary_expression "uVar7 * 0x10" (identifier "uVar7") (* "*") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (local_58 != (ulong *)0x0) {\n            FUN_002dac60();\n          }" (if "if") (parenthesized_expression "(local_58 != (ulong *)0x0)" (( "(") (binary_expression "local_58 != (ulong *)0x0" (identifier "local_58") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            FUN_002dac60();\n          }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_48 = puVar8 + uVar7 * 2;" (assignment_expression "local_48 = puVar8 + uVar7 * 2" (identifier "local_48") (= "=") (binary_expression "puVar8 + uVar7 * 2" (identifier "puVar8") (+ "+") (binary_expression "uVar7 * 2" (identifier "uVar7") (* "*") (number_literal "2")))) (; ";")) (expression_statement "local_50 = puVar8;" (assignment_expression "local_50 = puVar8" (identifier "local_50") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "local_58 = local_50;" (assignment_expression "local_58 = local_50" (identifier "local_58") (= "=") (identifier "local_50")) (; ";")) (expression_statement "FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);" (call_expression "FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58)" (identifier "FUN_002ac7f0") (argument_list "(param_1,param_2,param_1 + 0x48,&local_58)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "puVar11 = local_50;" (assignment_expression "puVar11 = local_50" (identifier "puVar11") (= "=") (identifier "local_50")) (; ";")) (expression_statement "puVar8 = local_58;" (assignment_expression "puVar8 = local_58" (identifier "puVar8") (= "=") (identifier "local_58")) (; ";")) (if_statement "if (local_58 != local_50) {\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(local_58 != local_50)" (( "(") (binary_expression "local_58 != local_50" (identifier "local_58") (!= "!=") (identifier "local_50")) () ")")) (compound_statement "{\n          lVar15 = (long)local_50 - (long)local_58;\n          uVar7 = lVar15 >> 4;\n          lVar9 = 0x3f;\n          if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }\n          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);\n          if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }\n        }" ({ "{") (expression_statement "lVar15 = (long)local_50 - (long)local_58;" (assignment_expression "lVar15 = (long)local_50 - (long)local_58" (identifier "lVar15") (= "=") (binary_expression "(long)local_50 - (long)local_58" (cast_expression "(long)local_50" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_50")) (- "-") (cast_expression "(long)local_58" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_58")))) (; ";")) (expression_statement "uVar7 = lVar15 >> 4;" (assignment_expression "uVar7 = lVar15 >> 4" (identifier "uVar7") (= "=") (binary_expression "lVar15 >> 4" (identifier "lVar15") (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "lVar9 = 0x3f;" (assignment_expression "lVar9 = 0x3f" (identifier "lVar9") (= "=") (number_literal "0x3f")) (; ";")) (if_statement "if (uVar7 != 0) {\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }\n          }" ({ "{") (for_statement "for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {\n            }" (for "for") (( "(") (; ";") (binary_expression "uVar7 >> lVar9 == 0" (binary_expression "uVar7 >> lVar9" (identifier "uVar7") (>> ">>") (identifier "lVar9")) (== "==") (number_literal "0")) (; ";") (assignment_expression "lVar9 = lVar9 + -1" (identifier "lVar9") (= "=") (binary_expression "lVar9 + -1" (identifier "lVar9") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            }" ({ "{") (} "}"))) (} "}"))) (expression_statement "FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);" (call_expression "FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2)" (identifier "FUN_002b02b0") (argument_list "(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2)" (( "(") (identifier "local_58") (, ",") (identifier "local_50") (, ",") (binary_expression "(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2" (parenthesized_expression "(0x3f - (long)(int)((uint)lVar9 ^ 0x3f))" (( "(") (binary_expression "0x3f - (long)(int)((uint)lVar9 ^ 0x3f)" (number_literal "0x3f") (- "-") (cast_expression "(long)(int)((uint)lVar9 ^ 0x3f)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)((uint)lVar9 ^ 0x3f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)lVar9 ^ 0x3f)" (( "(") (binary_expression "(uint)lVar9 ^ 0x3f" (cast_expression "(uint)lVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar9")) (^ "^") (number_literal "0x3f")) () ")"))))) () ")")) (* "*") (number_literal "2")) () ")"))) (; ";")) (if_statement "if (lVar15 < 0x101) {\n            FUN_002ab250(puVar8,puVar11);\n          }\n          else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" (if "if") (parenthesized_expression "(lVar15 < 0x101)" (( "(") (binary_expression "lVar15 < 0x101" (identifier "lVar15") (< "<") (number_literal "0x101")) () ")")) (compound_statement "{\n            FUN_002ab250(puVar8,puVar11);\n          }" ({ "{") (expression_statement "FUN_002ab250(puVar8,puVar11);" (call_expression "FUN_002ab250(puVar8,puVar11)" (identifier "FUN_002ab250") (argument_list "(puVar8,puVar11)" (( "(") (identifier "puVar8") (, ",") (identifier "puVar11") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" (else "else") (compound_statement "{\n            puVar14 = puVar8 + 0x20;\n            FUN_002ab250(puVar8,puVar14);\n            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }\n          }" ({ "{") (expression_statement "puVar14 = puVar8 + 0x20;" (assignment_expression "puVar14 = puVar8 + 0x20" (identifier "puVar14") (= "=") (binary_expression "puVar8 + 0x20" (identifier "puVar8") (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "FUN_002ab250(puVar8,puVar14);" (call_expression "FUN_002ab250(puVar8,puVar14)" (identifier "FUN_002ab250") (argument_list "(puVar8,puVar14)" (( "(") (identifier "puVar8") (, ",") (identifier "puVar14") () ")"))) (; ";")) (for_statement "for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }" (for "for") (( "(") (; ";") (binary_expression "puVar11 != puVar14" (identifier "puVar11") (!= "!=") (identifier "puVar14")) (; ";") (assignment_expression "puVar14 = puVar14 + 2" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 2" (identifier "puVar14") (+ "+") (number_literal "2"))) () ")") (compound_statement "{\n              uVar7 = *puVar14;\n              uVar4 = puVar14[1];\n              uVar3 = puVar14[-2];\n              puVar8 = puVar14;\n              while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }\n              *puVar8 = uVar7;\n              puVar8[1] = uVar4;\n            }" ({ "{") (expression_statement "uVar7 = *puVar14;" (assignment_expression "uVar7 = *puVar14" (identifier "uVar7") (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "uVar4 = puVar14[1];" (assignment_expression "uVar4 = puVar14[1]" (identifier "uVar4") (= "=") (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar3 = puVar14[-2];" (assignment_expression "uVar3 = puVar14[-2]" (identifier "uVar3") (= "=") (subscript_expression "puVar14[-2]" (identifier "puVar14") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "puVar8 = puVar14;" (assignment_expression "puVar8 = puVar14" (identifier "puVar8") (= "=") (identifier "puVar14")) (; ";")) (while_statement "while (uVar7 < uVar3) {\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }" (while "while") (parenthesized_expression "(uVar7 < uVar3)" (( "(") (binary_expression "uVar7 < uVar3" (identifier "uVar7") (< "<") (identifier "uVar3")) () ")")) (compound_statement "{\n                *puVar8 = uVar3;\n                puVar8[1] = puVar8[-1];\n                uVar3 = puVar8[-4];\n                puVar8 = puVar8 + -2;\n              }" ({ "{") (expression_statement "*puVar8 = uVar3;" (assignment_expression "*puVar8 = uVar3" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar8[1] = puVar8[-1];" (assignment_expression "puVar8[1] = puVar8[-1]" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar8[-1]" (identifier "puVar8") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "uVar3 = puVar8[-4];" (assignment_expression "uVar3 = puVar8[-4]" (identifier "uVar3") (= "=") (subscript_expression "puVar8[-4]" (identifier "puVar8") ([ "[") (number_literal "-4") (] "]"))) (; ";")) (expression_statement "puVar8 = puVar8 + -2;" (assignment_expression "puVar8 = puVar8 + -2" (identifier "puVar8") (= "=") (binary_expression "puVar8 + -2" (identifier "puVar8") (+ "+") (number_literal "-2"))) (; ";")) (} "}"))) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar8[1] = uVar4;" (assignment_expression "puVar8[1] = uVar4" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if ((*(byte *)(param_1 + 0x20) & 1) == 0) {\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/output.h",0xc5,"address");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/output.h",0xc5,"address");" (call_expression "FUN_0017c650("../../gold/output.h",0xc5,"address")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar10 = (uint *)(puVar12 + 6);" (assignment_expression "puVar10 = (uint *)(puVar12 + 6)" (identifier "puVar10") (= "=") (cast_expression "(uint *)(puVar12 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 6)" (( "(") (binary_expression "puVar12 + 6" (identifier "puVar12") (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 8);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 8)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar8 = local_58;" (assignment_expression "puVar8 = local_58" (identifier "puVar8") (= "=") (identifier "local_58")) (; ";")) (if_statement "if (local_58 == local_50) {\n          lVar9 = 0xc;\n        }\n        else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" (if "if") (parenthesized_expression "(local_58 == local_50)" (( "(") (binary_expression "local_58 == local_50" (identifier "local_58") (== "==") (identifier "local_50")) () ")")) (compound_statement "{\n          lVar9 = 0xc;\n        }" ({ "{") (expression_statement "lVar9 = 0xc;" (assignment_expression "lVar9 = 0xc" (identifier "lVar9") (= "=") (number_literal "0xc")) (; ";")) (} "}")) (else_clause "else {\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" (else "else") (compound_statement "{\n          do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);\n          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;\n        }" ({ "{") (do_statement "do {\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          } while (local_50 != puVar11);" (do "do") (compound_statement "{\n            puVar11 = puVar8 + 2;\n            iVar13 = (int)uVar5;\n            uVar6 = (int)*puVar8 - iVar13;\n            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;\n            uVar6 = (int)puVar8[1] - iVar13;\n            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;\n            puVar10 = puVar10 + 2;\n            puVar8 = puVar11;\n          }" ({ "{") (expression_statement "puVar11 = puVar8 + 2;" (assignment_expression "puVar11 = puVar8 + 2" (identifier "puVar11") (= "=") (binary_expression "puVar8 + 2" (identifier "puVar8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar13 = (int)uVar5;" (assignment_expression "iVar13 = (int)uVar5" (identifier "iVar13") (= "=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) (; ";")) (expression_statement "uVar6 = (int)*puVar8 - iVar13;" (assignment_expression "uVar6 = (int)*puVar8 - iVar13" (identifier "uVar6") (= "=") (binary_expression "(int)*puVar8 - iVar13" (cast_expression "(int)*puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (- "-") (identifier "iVar13"))) (; ";")) (expression_statement "*puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000;" (assignment_expression "*puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                       uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" (( "(") (binary_expression "uVar6 & 0xff0000" (identifier "uVar6") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" (( "(") (binary_expression "uVar6 & 0xff00" (identifier "uVar6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar6 * 0x1000000" (identifier "uVar6") (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "uVar6 = (int)puVar8[1] - iVar13;" (assignment_expression "uVar6 = (int)puVar8[1] - iVar13" (identifier "uVar6") (= "=") (binary_expression "(int)puVar8[1] - iVar13" (cast_expression "(int)puVar8[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]"))) (- "-") (identifier "iVar13"))) (; ";")) (expression_statement "puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000;" (assignment_expression "puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |\n                         uVar6 * 0x1000000" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" (( "(") (binary_expression "uVar6 & 0xff0000" (identifier "uVar6") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" (( "(") (binary_expression "uVar6 & 0xff00" (identifier "uVar6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar6 * 0x1000000" (identifier "uVar6") (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "puVar10 = puVar10 + 2;" (assignment_expression "puVar10 = puVar10 + 2" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 2" (identifier "puVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar8 = puVar11;" (assignment_expression "puVar8 = puVar11" (identifier "puVar8") (= "=") (identifier "puVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_50 != puVar11)" (( "(") (binary_expression "local_50 != puVar11" (identifier "local_50") (!= "!=") (identifier "puVar11")) () ")")) (; ";")) (expression_statement "lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;" (assignment_expression "lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14" (identifier "lVar9") (= "=") (binary_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14" (binary_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8" (parenthesized_expression "((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4)" (( "(") (binary_expression "(ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4" (call_expression "(ulong)((long)local_50 + (-0x10 - (long)local_58))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((long)local_50 + (-0x10 - (long)local_58))" (( "(") (binary_expression "(long)local_50 + (-0x10 - (long)local_58)" (cast_expression "(long)local_50" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_50")) (+ "+") (parenthesized_expression "(-0x10 - (long)local_58)" (( "(") (binary_expression "-0x10 - (long)local_58" (number_literal "-0x10") (- "-") (cast_expression "(long)local_58" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_58"))) () ")"))) () ")"))) (>> ">>") (number_literal "4")) () ")")) (* "*") (number_literal "8")) (+ "+") (number_literal "0x14"))) (; ";")) (} "}")))) (if_statement "if (lVar2 != lVar9) {\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" (if "if") (parenthesized_expression "(lVar2 != lVar9)" (( "(") (binary_expression "lVar2 != lVar9" (identifier "lVar2") (!= "!=") (identifier "lVar9")) () ")")) (compound_statement "{\n                    \n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");" (call_expression "FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write")" (identifier "FUN_0017c650") (argument_list "("../../gold/ehframe.cc",0xd1,"do_sized_write")" (( "(") (string_literal ""../../gold/ehframe.cc"" (" """) (string_content "../../gold/ehframe.cc") (" """)) (, ",") (number_literal "0xd1") (, ",") (string_literal ""do_sized_write"" (" """) (string_content "do_sized_write") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_58 != (ulong *)0x0) {\n          FUN_002dac60();\n          return;\n        }" (if "if") (parenthesized_expression "(local_58 != (ulong *)0x0)" (( "(") (binary_expression "local_58 != (ulong *)0x0" (identifier "local_58") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_002dac60();\n          return;\n        }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" (else "else") (compound_statement "{\n        puVar12[1] = 0xffff;\n        if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }\n      }" ({ "{") (expression_statement "puVar12[1] = 0xffff;" (assignment_expression "puVar12[1] = 0xffff" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xffff")) (; ";")) (if_statement "if (lVar2 != 8) {\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" (if "if") (parenthesized_expression "(lVar2 != 8)" (( "(") (binary_expression "lVar2 != 8" (identifier "lVar2") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");" (call_expression "FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write")" (identifier "FUN_0017c650") (argument_list "("../../gold/ehframe.cc",0xaa,"do_sized_write")" (( "(") (string_literal ""../../gold/ehframe.cc"" (" """) (string_content "../../gold/ehframe.cc") (" """)) (, ",") (number_literal "0xaa") (, ",") (string_literal ""do_sized_write"" (" """) (string_content "do_sized_write") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0017c650("../../gold/output.h",0xc5,"address");" (call_expression "FUN_0017c650("../../gold/output.h",0xc5,"address")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}")))

/* DWARF original name: do_sized_write<64, true>
   DWARF original prototype: void do_sized_write<64,_true>(Eh_frame_hdr * this, Output_file * of) */

void __thiscall gold::Eh_frame_hdr::do_sized_write<64,var_23>(Eh_frame_hdr *this,type_4 *of)

{
  byte var_3;
  bool var_10;
  long var_6;
  type_1 var_28;
  type_1 uVar5;
  uint64_t uVar6;
  type_2 var_9;
  type_1 var_17;
  type_3 var_21;
  long var_5;
  type_4 *in_RCX;
  type_2 *var_30;
  size_t in_RDX;
  type_3 var_26;
  type_5 *var_8;
  int var_29;
  type_3 var_27;
  long var_24;
  var_1<64> var_2;
  
  var_3 = (this->super_Output_section_data).super_Output_data.field_0x20;
  if ((var_3 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    var_4("../../gold/output.h",0xe3,"offset");
  }
  var_5 = (this->super_Output_section_data).super_Output_data.offset_;
  if ((var_3 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    var_4("../../gold/output.h",0xcf,"data_size");
  }
  var_6 = (this->super_Output_section_data).super_Output_data.data_size_;
  if ((var_5 < 0) || (of->file_size_ < var_6 + var_5)) {
    Output_file::var_7((type_4 *)this,(type_6)of,in_RDX,in_RCX);
  }
  else {
    var_8 = of->base_ + var_5;
    var_8[0] = '\x01';
    var_8[1] = '\x1b';
    if ((((this->eh_frame_section_->super_Output_data).field_0x20 & 1) != 0) &&
       (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) != 0)) {
      var_9 = ((int)(this->eh_frame_section_->super_Output_data).address_ -
              (int)(this->super_Output_section_data).super_Output_data.address_) - 4;
      var_10 = this->any_unrecognized_eh_frame_sections_;
      *(type_2 *)(var_8 + 4) =
           var_9 >> 0x18 | (var_9 & 0xff0000) >> 8 | (var_9 & 0xff00) << 8 | var_9 * 0x1000000;
      if ((var_10 == false) &&
         ((this->fde_offsets_).
          super__Vector_base<var_20::var_11<var_12,var_13>,_std::allocator<var_20::var_11<var_12,var_13>var_14>var_14>
          ._M_impl._M_finish !=
          (this->fde_offsets_).
          super__Vector_base<var_20::var_11<var_12,var_13>,_std::allocator<var_20::var_11<var_12,var_13>var_14>var_14>
          ._M_impl._M_start)) {
        var_8[2] = '\x03';
        var_8[3] = ';';
        var_2.fde_addresses_.
        super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
        ._M_impl._M_start = (type_3)0x0;
        var_17 = (long)(this->fde_offsets_).
                      super__Vector_base<var_20::var_11<var_12,var_13>,_std::allocator<var_20::var_11<var_12,var_13>var_14>var_14>
                      ._M_impl._M_finish -
                (long)(this->fde_offsets_).
                      super__Vector_base<var_20::var_11<var_12,var_13>,_std::allocator<var_20::var_11<var_12,var_13>var_14>var_14>
                      ._M_impl._M_start >> 4;
        var_9 = (type_2)var_17;
        var_17 = var_17 & 0xffffffff;
        *(type_2 *)(var_8 + 8) =
             var_9 >> 0x18 | (var_9 & 0xff0000) >> 8 | (var_9 & 0xff00) << 8 | var_9 << 0x18;
        var_2.fde_addresses_.
        super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
        ._M_impl._M_finish = (type_3)0x0;
        var_2.fde_addresses_.
        super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
        ._M_impl._M_end_of_storage = (type_3)0x0;
        if (var_17 != 0) {
                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */
          var_21 = (type_3)var_18(var_17 * 0x10);
          if (var_2.fde_addresses_.
              super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
              ._M_impl._M_start != (type_3)0x0) {
            var_19(var_2.fde_addresses_.
                            super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                            ._M_impl._M_start);
          }
          var_2.fde_addresses_.
          super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
          ._M_impl._M_end_of_storage = var_21 + var_17;
          var_2.fde_addresses_.
          super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
          ._M_impl._M_finish = var_21;
        }
        var_2.fde_addresses_.
        super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
        ._M_impl._M_start =
             var_2.fde_addresses_.
             super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
             ._M_impl._M_finish;
                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */
        var_22<64,var_23>(this,of,&this->fde_offsets_,&var_2);
        var_26 = var_2.fde_addresses_.
                  super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                  ._M_impl._M_finish;
        var_21 = var_2.fde_addresses_.
                 super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                 ._M_impl._M_start;
        if (var_2.fde_addresses_.
            super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
            ._M_impl._M_start !=
            var_2.fde_addresses_.
            super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
            ._M_impl._M_finish) {
          var_24 = (long)var_2.fde_addresses_.
                         super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                         ._M_impl._M_finish -
                   (long)var_2.fde_addresses_.
                         super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                         ._M_impl._M_start;
          var_17 = var_24 >> 4;
          var_5 = 0x3f;
          if (var_17 != 0) {
            for (; var_17 >> var_5 == 0; var_5 = var_5 + -1) {
            }
          }
          std::
          __introsort_loop<__gnu_cxx::__normal_iterator<var_20::var_11<var_15,var_16>*,_std::vector<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>var_14>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::var_25<64>var_14>var_14>
                    (var_2.fde_addresses_.
                     super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                     ._M_impl._M_start,
                     var_2.fde_addresses_.
                     super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                     ._M_impl._M_finish,(0x3f - (long)(int)((type_2)var_5 ^ 0x3f)) * 2);
          if (var_24 < 0x101) {
            std::
            __insertion_sort<__gnu_cxx::__normal_iterator<var_20::var_11<var_15,var_16>*,_std::vector<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>var_14>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::var_25<64>var_14>var_14>
                      (var_21,var_26);
          }
          else {
            var_27 = var_21 + 0x10;
            std::
            __insertion_sort<__gnu_cxx::__normal_iterator<var_20::var_11<var_15,var_16>*,_std::vector<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>var_14>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::var_25<64>var_14>var_14>
                      (var_21,var_27);
            for (; var_26 != var_27; var_27 = var_27 + 1) {
              var_17 = var_27->first;
              uVar5 = var_27->second;
              var_28 = var_27[-1].first;
              var_21 = var_27;
              while (var_17 < var_28) {
                var_21->first = var_28;
                var_21->second = var_21[-1].second;
                var_28 = var_21[-2].first;
                var_21 = var_21 + -1;
              }
              var_21->first = var_17;
              var_21->second = uVar5;
            }
          }
        }
        if (((this->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          var_4("../../gold/output.h",0xc5,"address");
        }
        var_30 = (type_2 *)(var_8 + 0xc);
        uVar6 = (this->super_Output_section_data).super_Output_data.address_;
        var_21 = var_2.fde_addresses_.
                 super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                 ._M_impl._M_start;
        if (var_2.fde_addresses_.
            super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
            ._M_impl._M_start ==
            var_2.fde_addresses_.
            super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
            ._M_impl._M_finish) {
          var_5 = 0xc;
        }
        else {
          do {
            var_26 = var_21 + 1;
            var_29 = (int)uVar6;
            var_9 = (int)var_21->first - var_29;
            *var_30 = var_9 >> 0x18 | (var_9 & 0xff0000) >> 8 | (var_9 & 0xff00) << 8 |
                       var_9 * 0x1000000;
            var_9 = (int)var_21->second - var_29;
            var_30[1] = var_9 >> 0x18 | (var_9 & 0xff0000) >> 8 | (var_9 & 0xff00) << 8 |
                         var_9 * 0x1000000;
            var_30 = var_30 + 2;
            var_21 = var_26;
          } while (var_2.fde_addresses_.
                   super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                   ._M_impl._M_finish != var_26);
          var_5 = ((type_1)((long)var_2.fde_addresses_.
                                  super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                                  ._M_impl._M_finish +
                           (-0x10 - (long)var_2.fde_addresses_.
                                          super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                                          ._M_impl._M_start)) >> 4) * 8 + 0x14;
        }
        if (var_6 != var_5) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */
          var_4("../../gold/ehframe.cc",0xd1,"do_sized_write");
        }
        if (var_2.fde_addresses_.
            super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
            ._M_impl._M_start != (type_3)0x0) {
          var_19(var_2.fde_addresses_.
                          super__Vector_base<var_20::var_11<var_15,var_16>,_std::allocator<var_20::var_11<var_15,var_16>var_14>var_14>
                          ._M_impl._M_start);
          return;
        }
      }
      else {
        var_8[2] = 0xff;
        var_8[3] = 0xff;
        if (var_6 != 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: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) 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))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (sized_type_specifier) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) 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: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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))) (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: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) 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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) right: (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))))) 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)))) (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))))))) (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: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))))) right: (number_literal))) right: (number_literal)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (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))) (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: (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)))))))))) (return_statement)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

void MASKED(long param_1,long param_2)

{
  char cVar1;
  long lVar2;
  ulong uVar3;
  ulong uVar4;
  undefined8 uVar5;
  uint uVar6;
  ulong uVar7;
  ulong *puVar8;
  long lVar9;
  uint *puVar10;
  ulong *puVar11;
  undefined2 *puVar12;
  int iVar13;
  ulong *puVar14;
  long lVar15;
  ulong *local_58;
  ulong *local_50;
  ulong *local_48;
  
  if ((*(byte *)(param_1 + 0x20) & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.h",0xe3,"offset");
  }
  lVar9 = *(long *)(param_1 + 0x18);
  if ((*(byte *)(param_1 + 0x20) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.h",0xcf,"data_size");
  }
  lVar2 = *(long *)(param_1 + 0x10);
  if ((lVar9 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar9)) {
    FUN_002a7b90();
  }
  else {
    puVar12 = (undefined2 *)(lVar9 + *(long *)(param_2 + 0x18));
    *puVar12 = 0x1b01;
    if (((*(byte *)(*(long *)(param_1 + 0x38) + 0x20) & 1) != 0) &&
       ((*(byte *)(param_1 + 0x20) & 1) != 0)) {
      uVar6 = ((int)*(undefined8 *)(*(long *)(param_1 + 0x38) + 8) -
              (int)*(undefined8 *)(param_1 + 8)) - 4;
      cVar1 = *(char *)(param_1 + 0x60);
      *(uint *)(puVar12 + 2) =
           uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 * 0x1000000;
      if ((cVar1 == '\0') && (*(long *)(param_1 + 0x50) != *(long *)(param_1 + 0x48))) {
        puVar12[1] = 0x3b03;
        local_58 = (ulong *)0x0;
        uVar7 = *(long *)(param_1 + 0x50) - *(long *)(param_1 + 0x48) >> 4;
        uVar6 = (uint)uVar7;
        uVar7 = uVar7 & 0xffffffff;
        *(uint *)(puVar12 + 4) =
             uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
        local_50 = (ulong *)0x0;
        local_48 = (ulong *)0x0;
        if (uVar7 != 0) {
                    /* try { // try from 002b073a to 002b073e has its CatchHandler @ 002b082f */
          puVar8 = (ulong *)FUN_002d9490(uVar7 * 0x10);
          if (local_58 != (ulong *)0x0) {
            FUN_002dac60();
          }
          local_48 = puVar8 + uVar7 * 2;
          local_50 = puVar8;
        }
        local_58 = local_50;
                    /* try { // try from 002b05e1 to 002b05e5 has its CatchHandler @ 002b0834 */
        FUN_002ac7f0(param_1,param_2,param_1 + 0x48,&local_58);
        puVar11 = local_50;
        puVar8 = local_58;
        if (local_58 != local_50) {
          lVar15 = (long)local_50 - (long)local_58;
          uVar7 = lVar15 >> 4;
          lVar9 = 0x3f;
          if (uVar7 != 0) {
            for (; uVar7 >> lVar9 == 0; lVar9 = lVar9 + -1) {
            }
          }
          FUN_002b02b0(local_58,local_50,(0x3f - (long)(int)((uint)lVar9 ^ 0x3f)) * 2);
          if (lVar15 < 0x101) {
            FUN_002ab250(puVar8,puVar11);
          }
          else {
            puVar14 = puVar8 + 0x20;
            FUN_002ab250(puVar8,puVar14);
            for (; puVar11 != puVar14; puVar14 = puVar14 + 2) {
              uVar7 = *puVar14;
              uVar4 = puVar14[1];
              uVar3 = puVar14[-2];
              puVar8 = puVar14;
              while (uVar7 < uVar3) {
                *puVar8 = uVar3;
                puVar8[1] = puVar8[-1];
                uVar3 = puVar8[-4];
                puVar8 = puVar8 + -2;
              }
              *puVar8 = uVar7;
              puVar8[1] = uVar4;
            }
          }
        }
        if ((*(byte *)(param_1 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/output.h",0xc5,"address");
        }
        puVar10 = (uint *)(puVar12 + 6);
        uVar5 = *(undefined8 *)(param_1 + 8);
        puVar8 = local_58;
        if (local_58 == local_50) {
          lVar9 = 0xc;
        }
        else {
          do {
            puVar11 = puVar8 + 2;
            iVar13 = (int)uVar5;
            uVar6 = (int)*puVar8 - iVar13;
            *puVar10 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |
                       uVar6 * 0x1000000;
            uVar6 = (int)puVar8[1] - iVar13;
            puVar10[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 |
                         uVar6 * 0x1000000;
            puVar10 = puVar10 + 2;
            puVar8 = puVar11;
          } while (local_50 != puVar11);
          lVar9 = ((ulong)((long)local_50 + (-0x10 - (long)local_58)) >> 4) * 8 + 0x14;
        }
        if (lVar2 != lVar9) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002b0812 to 002b082e has its CatchHandler @ 002b0834 */
          FUN_0017c650("../../gold/ehframe.cc",0xd1,"do_sized_write");
        }
        if (local_58 != (ulong *)0x0) {
          FUN_002dac60();
          return;
        }
      }
      else {
        puVar12[1] = 0xffff;
        if (lVar2 != 8) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/ehframe.cc",0xaa,"do_sized_write");
        }
      }
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/output.h",0xc5,"address");
}

