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

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

{
  byte bVar1;
  pointer ppOVar2;
  int iVar3;
  uchar *puVar4;
  Output_segment *this_00;
  Segment_list *pSVar5;
  uint uVar6;
  int iVar7;
  uint64_t uVar8;
  uint uVar9;
  uint uVar10;
  pointer ppOVar11;
  uint *puVar12;
  uint *puVar13;
  uint uVar14;
  int iVar15;
  uint64_t uVar16;
  
  ppOVar11 = (this->segment_list_->
             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).
             _M_impl._M_start;
  ppOVar2 = (this->segment_list_->
            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).
            _M_impl._M_finish;
  uVar9 = ((int)ppOVar2 - (int)ppOVar11 >> 2) * 0x38;
  bVar1 = (this->super_Output_data).field_0x1c;
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  if (uVar9 != (uint)(this->super_Output_data).data_size_ ||
      *(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.cc",0x19e,"do_sized_write");
  }
  if ((bVar1 & 4) == 0) {
LAB_00106f95:
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  iVar15 = *(int *)((int)&(this->super_Output_data).offset_ + 4);
  uVar14 = (uint)(this->super_Output_data).offset_;
  if ((iVar15 < 0) ||
     (iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),
     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,
     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0)) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
  }
  puVar4 = of->base_;
  puVar12 = (uint *)(puVar4 + uVar14);
  if (ppOVar11 == ppOVar2) {
    if (uVar9 != 0) goto LAB_00106f78;
  }
  else {
    do {
      this_00 = *ppOVar11;
      uVar6 = this_00->type_;
      uVar10 = *(uint *)((int)&this_00->offset_ + 4);
      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
      uVar6 = (uint)this_00->offset_;
      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
      uVar6 = (uint)this_00->vaddr_;
      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);
      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
      uVar6 = (uint)this_00->paddr_;
      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);
      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
      uVar6 = (uint)this_00->filesz_;
      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);
      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
      uVar6 = (uint)this_00->memsz_;
      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);
      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18
      ;
      uVar6 = this_00->flags_;
      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                    uVar10 << 0x18;
      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
      uVar16 = Output_segment::maximum_alignment(this_00);
      uVar10 = (uint)(uVar16 >> 0x20);
      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);
      uVar8 = this_00->min_p_align_;
      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {
        uVar8 = uVar16;
      }
      uVar10 = (uint)(uVar8 >> 0x20);
      uVar6 = (uint)uVar8;
      puVar13 = puVar12 + 0xe;
      ppOVar11 = ppOVar11 + 1;
      pSVar5 = this->segment_list_;
      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18
      ;
      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                     uVar10 << 0x18;
      puVar12 = puVar13;
    } while ((pSVar5->
             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).
             _M_impl._M_finish != ppOVar11);
    uVar14 = (int)puVar13 - (int)(puVar4 + uVar14);
    if ((int)uVar14 < 0 || uVar14 != uVar9) {
LAB_00106f78:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");
    }
    if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;
  }
  return;
}



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

void FUN_00106dd0(int *param_1,int param_2)

{
  int *piVar1;
  int iVar2;
  undefined8 uVar3;
  uint uVar4;
  int *piVar5;
  int iVar6;
  int *piVar7;
  uint *puVar8;
  uint *puVar9;
  uint *puVar10;
  uint uVar11;
  int iVar12;
  uint uVar13;
  undefined8 uVar14;
  
  piVar7 = *(int **)param_1[8];
  piVar1 = (int *)((int *)param_1[8])[1];
  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;
  if ((*(byte *)(param_1 + 7) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0xcf,"data_size");
  }
  if (uVar4 != param_1[3] || param_1[4] != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);
  }
  piVar5 = param_1;
  if ((*(byte *)(param_1 + 7) & 4) == 0) {
LAB_00106f95:
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);
  }
  iVar6 = param_1[6];
  uVar11 = param_1[5];
  piVar5 = piVar7;
  if ((iVar6 < 0) ||
     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),
     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),
     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),
     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);
  }
  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);
  puVar9 = puVar8;
  if (piVar7 == piVar1) {
    if (uVar4 != 0) goto LAB_00106f78;
  }
  else {
    do {
      iVar6 = *piVar7;
      uVar11 = *(uint *)(iVar6 + 0x194);
      uVar13 = *(uint *)(iVar6 + 0x188);
      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x184);
      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x15c);
      uVar13 = *(uint *)(iVar6 + 0x160);
      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x164);
      uVar13 = *(uint *)(iVar6 + 0x168);
      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x18c);
      uVar13 = *(uint *)(iVar6 + 400);
      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x16c);
      uVar13 = *(uint *)(iVar6 + 0x170);
      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                    uVar11 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x198);
      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                   uVar13 << 0x18;
      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      uVar14 = FUN_000efe40(iVar6);
      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);
      uVar3 = *(undefined8 *)(iVar6 + 0x17c);
      if (*(uint *)(iVar6 + 0x180) < uVar11 ||
          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {
        uVar3 = uVar14;
      }
      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);
      uVar11 = (uint)uVar3;
      puVar10 = puVar9 + 0xe;
      piVar7 = piVar7 + 1;
      iVar6 = param_1[8];
      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                    uVar11 << 0x18;
      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                    uVar13 << 0x18;
      puVar9 = puVar10;
    } while (*(int **)(iVar6 + 4) != piVar7);
    uVar11 = (int)puVar10 - (int)puVar8;
    iVar6 = (int)uVar11 >> 0x1f;
    if ((int)uVar11 < 0 || uVar11 != uVar4) {
LAB_00106f78:
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);
    }
    piVar5 = piVar7;
    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;
  }
  return;
}


CALL 0x000559e6
ADD EAX,0x28822b
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x2c
MOV EBX,dword ptr [ESP + 0x40]
MOV EBP,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EBX + 0x20]
MOV ECX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV ESI,EAX
MOV dword ptr [ESP + 0x14],EAX
SUB ESI,ECX
MOV dword ptr [ESP + 0x10],ECX
SAR ESI,0x2
IMUL EAX,ESI,0x38
MOV dword ptr [ESP + 0xc],EAX
MOV ESI,EAX
MOVZX EAX,byte ptr [EBX + 0x1c]
TEST AL,0x2
JZ 0x00106fe9
MOV EDX,dword ptr [ESP + 0xc]
XOR EDX,dword ptr [EBX + 0xc]
OR EDX,dword ptr [EBX + 0x10]
JNZ 0x00106fcc
TEST AL,0x4
JZ 0x00106f95
MOV EDX,dword ptr [EBX + 0x18]
MOV EAX,dword ptr [EBX + 0x14]
TEST EDX,EDX
JS 0x00106fb2
XOR EDI,EDI
MOV ECX,dword ptr [EBP + 0xc]
ADD ESI,EAX
ADC EDI,EDX
CMP dword ptr [EBP + 0x8],ESI
SBB ECX,EDI
JL 0x00106fb2
MOV ESI,dword ptr [EBP + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
ADD ESI,EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],ESI
CMP EAX,ECX
JZ 0x00106f70
MOV dword ptr [ESP + 0x40],EBX
MOV ECX,dword ptr [ESP + 0x40]
MOV EBX,EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EDI,dword ptr [EBX]
MOV dword ptr [ESP + 0x40],ECX
SUB ESP,0xc
MOV EAX,dword ptr [EDI + 0x194]
MOV EDX,dword ptr [EDI + 0x188]
BSWAP EAX
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EDI + 0x184]
BSWAP EDX
MOV dword ptr [ESI + 0x8],EDX
BSWAP EAX
MOV dword ptr [ESI + 0xc],EAX
MOV EAX,dword ptr [EDI + 0x15c]
MOV EDX,dword ptr [EDI + 0x160]
BSWAP EAX
MOV dword ptr [ESI + 0x14],EAX
BSWAP EDX
MOV dword ptr [ESI + 0x10],EDX
MOV EAX,dword ptr [EDI + 0x164]
MOV EDX,dword ptr [EDI + 0x168]
BSWAP EAX
MOV dword ptr [ESI + 0x1c],EAX
BSWAP EDX
MOV dword ptr [ESI + 0x18],EDX
MOV EAX,dword ptr [EDI + 0x18c]
MOV EDX,dword ptr [EDI + 0x190]
BSWAP EAX
MOV dword ptr [ESI + 0x24],EAX
BSWAP EDX
MOV dword ptr [ESI + 0x20],EDX
MOV EAX,dword ptr [EDI + 0x16c]
MOV EDX,dword ptr [EDI + 0x170]
BSWAP EAX
MOV dword ptr [ESI + 0x2c],EAX
MOV EAX,dword ptr [EDI + 0x198]
BSWAP EDX
MOV dword ptr [ESI + 0x28],EDX
BSWAP EAX
MOV dword ptr [ESI + 0x4],EAX
PUSH EDI
CALL 0x000efe40
MOV EBP,dword ptr [EDI + 0x17c]
ADD ESP,0x10
MOV EDI,dword ptr [EDI + 0x180]
CMP EBP,EAX
MOV ECX,EDI
SBB ECX,EDX
MOV ECX,dword ptr [ESP + 0x40]
CMOVC EBP,EAX
CMOVC EDI,EDX
ADD ESI,0x38
ADD EBX,0x4
MOV EAX,dword ptr [ECX + 0x20]
BSWAP EBP
BSWAP EDI
MOV dword ptr [ESI + -0x4],EBP
MOV dword ptr [ESI + -0x8],EDI
CMP dword ptr [EAX + 0x4],EBX
JNZ 0x00106e80
SUB ESI,dword ptr [ESP + 0x18]
MOV EAX,ESI
XOR ESI,dword ptr [ESP + 0xc]
CDQ
MOV EAX,EDX
OR EAX,ESI
JNZ 0x00106f78
TEST byte ptr [ECX + 0x1c],0x4
JZ 0x00106f95
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x00106f64
PUSH EDX
MOV EBX,dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xfff05168]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x1ab
PUSH EAX
CALL 0x00069d00
PUSH EBX
MOV EBX,dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xfff05264]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xe3
PUSH EAX
CALL 0x00069d00
PUSH ECX
MOV EBX,dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xfff052ec]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x6f
PUSH EAX
CALL 0x00069d00
PUSH ESI
MOV EBX,dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xfff05168]
PUSH EAX
LEA EAX,[EBX + 0xfff0336b]
PUSH 0x19e
PUSH EAX
CALL 0x00069d00
PUSH EDI
MOV EBX,dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xfff052e0]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xcf
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00106dd0(int *param_1,int param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00106dd0(int *param_1,int param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00106dd0(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (expression_statement "piVar7 = *(int **)param_1[8];" (assignment_expression "piVar7 = *(int **)param_1[8]" identifier = (pointer_expression "*(int **)param_1[8]" * (cast_expression "(int **)param_1[8]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[8]" identifier [ number_literal ])))) ;) (expression_statement "piVar1 = (int *)((int *)param_1[8])[1];" (assignment_expression "piVar1 = (int *)((int *)param_1[8])[1]" identifier = (cast_expression "(int *)((int *)param_1[8])[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)param_1[8])[1]" (parenthesized_expression "((int *)param_1[8])" ( (cast_expression "(int *)param_1[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) )) [ number_literal ]))) ;) (expression_statement "uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;" (assignment_expression "uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38" identifier = (binary_expression "((int)piVar1 - (int)piVar7 >> 2) * 0x38" (parenthesized_expression "((int)piVar1 - (int)piVar7 >> 2)" ( (binary_expression "(int)piVar1 - (int)piVar7 >> 2" (binary_expression "(int)piVar1 - (int)piVar7" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 7) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 7) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 2)" ( (binary_expression "*(byte *)(param_1 + 7) & 2" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }" { comment (expression_statement "FUN_00069d00("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00069d00("../../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 ") ))) ;) })) (if_statement "if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }" if (parenthesized_expression "(uVar4 != param_1[3] || param_1[4] != 0)" ( (binary_expression "uVar4 != param_1[3] || param_1[4] != 0" (binary_expression "uVar4 != param_1[3]" identifier != (subscript_expression "param_1[3]" identifier [ number_literal ])) || (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }" { comment (expression_statement "FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);" (call_expression "FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4)" identifier (argument_list "("../../gold/output.cc",0x19e,"do_sized_write",uVar4)" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , identifier ))) ;) })) (expression_statement "piVar5 = param_1;" (assignment_expression "piVar5 = param_1" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 7) & 4) == 0)" ( (binary_expression "(*(byte *)(param_1 + 7) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 4)" ( (binary_expression "*(byte *)(param_1 + 7) & 4" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }" { (labeled_statement "LAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);" statement_identifier : comment (expression_statement "FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);" (call_expression "FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",piVar5)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;)) })) (expression_statement "iVar6 = param_1[6];" (assignment_expression "iVar6 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = param_1[5];" (assignment_expression "uVar11 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" identifier = identifier) ;) (if_statement "if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }" if (parenthesized_expression "((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0))" ( (binary_expression "(iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)" (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)" ( (comma_expression "iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11)" identifier = (binary_expression "iVar6 + (uint)CARRY4(uVar4,uVar11)" identifier + (cast_expression "(uint)CARRY4(uVar4,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar4,uVar11)" identifier (argument_list "(uVar4,uVar11)" ( identifier , identifier )))))) , (comma_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar4 + uVar11)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar4 + uVar11" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar4 + uVar11" identifier + identifier)) )))) , (comma_expression "iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "iVar2 = *(int *)(param_2 + 0xc) - iVar12" identifier = (binary_expression "*(int *)(param_2 + 0xc) - iVar12" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) , (comma_expression "piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "piVar5 = (int *)(iVar2 - uVar13)" identifier = (cast_expression "(int *)(iVar2 - uVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 - uVar13)" ( (binary_expression "iVar2 - uVar13" identifier - identifier) )))) , (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar12)" identifier (argument_list "(*(int *)(param_2 + 0xc),iVar12)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar2,uVar13)" identifier (argument_list "(iVar2,uVar13)" ( identifier , identifier )))) )) != (binary_expression "(int)piVar5 < 0" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)))))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }" { comment (expression_statement "FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);" (call_expression "FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",piVar5)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;) })) (expression_statement "puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);" (assignment_expression "puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x10) + uVar11)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar11)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar11" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "puVar9 = puVar8;" (assignment_expression "puVar9 = puVar8" identifier = identifier) ;) (if_statement "if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" if (parenthesized_expression "(piVar7 == piVar1)" ( (binary_expression "piVar7 == piVar1" identifier == identifier) )) (compound_statement "{\n    if (uVar4 != 0) goto LAB_00106f78;\n  }" { (if_statement "if (uVar4 != 0) goto LAB_00106f78;" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00106f78;" goto statement_identifier ;)) }) (else_clause "else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" else (compound_statement "{\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" { (do_statement "do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);" do (compound_statement "{\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    }" { (expression_statement "iVar6 = *piVar7;" (assignment_expression "iVar6 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x194);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x194)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x194)" * (cast_expression "(uint *)(iVar6 + 0x194)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x194)" ( (binary_expression "iVar6 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x188);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x188)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x188)" * (cast_expression "(uint *)(iVar6 + 0x188)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x188)" ( (binary_expression "iVar6 + 0x188" identifier + number_literal) ))))) ;) (expression_statement "*puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x184);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x184)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x184)" * (cast_expression "(uint *)(iVar6 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x184)" ( (binary_expression "iVar6 + 0x184" identifier + number_literal) ))))) ;) (expression_statement "puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x15c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x15c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x15c)" * (cast_expression "(uint *)(iVar6 + 0x15c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x15c)" ( (binary_expression "iVar6 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x160);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x160)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x160)" * (cast_expression "(uint *)(iVar6 + 0x160)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x160)" ( (binary_expression "iVar6 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x164);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x164)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x164)" * (cast_expression "(uint *)(iVar6 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x164)" ( (binary_expression "iVar6 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x168);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x168)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x168)" * (cast_expression "(uint *)(iVar6 + 0x168)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x168)" ( (binary_expression "iVar6 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[7]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x18c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x18c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x18c)" * (cast_expression "(uint *)(iVar6 + 0x18c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18c)" ( (binary_expression "iVar6 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 400);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 400)" identifier = (pointer_expression "*(uint *)(iVar6 + 400)" * (cast_expression "(uint *)(iVar6 + 400)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 400)" ( (binary_expression "iVar6 + 400" identifier + number_literal) ))))) ;) (expression_statement "puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[9]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[8]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x16c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x16c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x16c)" * (cast_expression "(uint *)(iVar6 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x16c)" ( (binary_expression "iVar6 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x170);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x170)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x170)" * (cast_expression "(uint *)(iVar6 + 0x170)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x170)" ( (binary_expression "iVar6 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;" (assignment_expression "puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (subscript_expression "puVar9[0xb]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x198);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x198)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x198)" * (cast_expression "(uint *)(iVar6 + 0x198)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x198)" ( (binary_expression "iVar6 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;" (assignment_expression "puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18" (subscript_expression "puVar9[10]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar14 = FUN_000efe40(iVar6);" (assignment_expression "uVar14 = FUN_000efe40(iVar6)" identifier = (call_expression "FUN_000efe40(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar11 = (uint)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar11 = (uint)((ulonglong)uVar14 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar3 = *(undefined8 *)(iVar6 + 0x17c);" (assignment_expression "uVar3 = *(undefined8 *)(iVar6 + 0x17c)" identifier = (pointer_expression "*(undefined8 *)(iVar6 + 0x17c)" * (cast_expression "(undefined8 *)(iVar6 + 0x17c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x17c)" ( (binary_expression "iVar6 + 0x17c" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }" if (parenthesized_expression "(*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14))" ( (binary_expression "*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (binary_expression "*(uint *)(iVar6 + 0x180) < uVar11" (pointer_expression "*(uint *)(iVar6 + 0x180)" * (cast_expression "(uint *)(iVar6 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x180)" ( (binary_expression "iVar6 + 0x180" identifier + number_literal) )))) < identifier) || (binary_expression "*(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (binary_expression "*(uint *)(iVar6 + 0x180) - uVar11" (pointer_expression "*(uint *)(iVar6 + 0x180)" * (cast_expression "(uint *)(iVar6 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x180)" ( (binary_expression "iVar6 + 0x180" identifier + number_literal) )))) - identifier) < (call_expression "(uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" ( (binary_expression "*(uint *)(iVar6 + 0x17c) < (uint)uVar14" (pointer_expression "*(uint *)(iVar6 + 0x17c)" * (cast_expression "(uint *)(iVar6 + 0x17c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x17c)" ( (binary_expression "iVar6 + 0x17c" identifier + number_literal) )))) < (cast_expression "(uint)uVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n        uVar3 = uVar14;\n      }" { (expression_statement "uVar3 = uVar14;" (assignment_expression "uVar3 = uVar14" identifier = identifier) ;) })) (expression_statement "uVar13 = (uint)((ulonglong)uVar3 >> 0x20);" (assignment_expression "uVar13 = (uint)((ulonglong)uVar3 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar3 >> 0x20)" ( (binary_expression "(ulonglong)uVar3 >> 0x20" (cast_expression "(ulonglong)uVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar11 = (uint)uVar3;" (assignment_expression "uVar11 = (uint)uVar3" identifier = (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10 = puVar9 + 0xe;" (assignment_expression "puVar10 = puVar9 + 0xe" identifier = (binary_expression "puVar9 + 0xe" identifier + number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = param_1[8];" (assignment_expression "iVar6 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;" (assignment_expression "puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (subscript_expression "puVar9[0xd]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;" (assignment_expression "puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18" (subscript_expression "puVar9[0xc]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) }) while (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar7)" ( (binary_expression "*(int **)(iVar6 + 4) != piVar7" (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "uVar11 = (int)puVar10 - (int)puVar8;" (assignment_expression "uVar11 = (int)puVar10 - (int)puVar8" identifier = (binary_expression "(int)puVar10 - (int)puVar8" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar6 = (int)uVar11 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar11 >> 0x1f" identifier = (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }" if (parenthesized_expression "((int)uVar11 < 0 || uVar11 != uVar4)" ( (binary_expression "(int)uVar11 < 0 || uVar11 != uVar4" (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "uVar11 != uVar4" identifier != identifier)) )) (compound_statement "{\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }" { (labeled_statement "LAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);" statement_identifier : comment (expression_statement "FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);" (call_expression "FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6)" identifier (argument_list "("../../gold/output.cc",0x1ab,"do_sized_write",iVar6)" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , identifier ))) ;)) })) (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;" if (parenthesized_expression "((*(byte *)(param_1 + 7) & 4) == 0)" ( (binary_expression "(*(byte *)(param_1 + 7) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 4)" ( (binary_expression "*(byte *)(param_1 + 7) & 4" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00106f95;" goto statement_identifier ;)) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* DWARF original name: do_sized_write<64, true>\n   DWARF original prototype: void do_sized_write<64,_true>(Output_segment_headers * this,\n   Output_file * of) */\n\nvoid __thiscall\ngold::Output_segment_headers::do_sized_write<64,_true>(Output_segment_headers *this,Output_file *of)\n\n{\n  byte bVar1;\n  pointer ppOVar2;\n  int iVar3;\n  uchar *puVar4;\n  Output_segment *this_00;\n  Segment_list *pSVar5;\n  uint uVar6;\n  int iVar7;\n  uint64_t uVar8;\n  uint uVar9;\n  uint uVar10;\n  pointer ppOVar11;\n  uint *puVar12;\n  uint *puVar13;\n  uint uVar14;\n  int iVar15;\n  uint64_t uVar16;\n  \n  ppOVar11 = (this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_start;\n  ppOVar2 = (this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n            _M_impl._M_finish;\n  uVar9 = ((int)ppOVar2 - (int)ppOVar11 >> 2) * 0x38;\n  bVar1 = (this->super_Output_data).field_0x1c;\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar9 != (uint)(this->super_Output_data).data_size_ ||\n      *(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0x19e,"do_sized_write");\n  }\n  if ((bVar1 & 4) == 0) {\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  iVar15 = *(int *)((int)&(this->super_Output_data).offset_ + 4);\n  uVar14 = (uint)(this->super_Output_data).offset_;\n  if ((iVar15 < 0) ||\n     (iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }\n  puVar4 = of->base_;\n  puVar12 = (uint *)(puVar4 + uVar14);\n  if (ppOVar11 == ppOVar2) {\n    if (uVar9 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      this_00 = *ppOVar11;\n      uVar6 = this_00->type_;\n      uVar10 = *(uint *)((int)&this_00->offset_ + 4);\n      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->offset_;\n      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->vaddr_;\n      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);\n      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->paddr_;\n      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);\n      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->filesz_;\n      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);\n      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->memsz_;\n      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);\n      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      uVar6 = this_00->flags_;\n      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;\n      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar16 = Output_segment::maximum_alignment(this_00);\n      uVar10 = (uint)(uVar16 >> 0x20);\n      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);\n      uVar8 = this_00->min_p_align_;\n      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }\n      uVar10 = (uint)(uVar8 >> 0x20);\n      uVar6 = (uint)uVar8;\n      puVar13 = puVar12 + 0xe;\n      ppOVar11 = ppOVar11 + 1;\n      pSVar5 = this->segment_list_;\n      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;\n      puVar12 = puVar13;\n    } while ((pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11);\n    uVar14 = (int)puVar13 - (int)(puVar4 + uVar14);\n    if ((int)uVar14 < 0 || uVar14 != uVar9) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");\n    }\n    if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}\n\n" comment comment (declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<64,_true>(Output_segment_headers *this,Output_file *of)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment_headers::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>(Output_segment_headers" identifier > ( identifier) (pointer_declarator "*this" * identifier) , (ERROR "Output_file *of)\n\n{\n  byte" identifier (pointer_declarator "*of" * identifier) ) { identifier) identifier ;) (declaration "pointer ppOVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "Output_segment *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Segment_list *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint64_t uVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "pointer ppOVar11;" type_identifier identifier ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint64_t uVar16;" primitive_type identifier ;) (expression_statement "ppOVar11 = (this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_start;" (assignment_expression "ppOVar11 = (this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_start" identifier = (field_expression "(this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_start" (field_expression "(this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl" (parenthesized_expression "(this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>)" ( (binary_expression "this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>" (binary_expression "this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "this->segment_list_->\n             super__Vector_base<gold::Output_segment*,_std" (binary_expression "this->segment_list_->\n             super__Vector_base<gold" (field_expression "this->segment_list_->\n             super__Vector_base" (field_expression "this->segment_list_" identifier -> field_identifier) -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "ppOVar2 = (this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n            _M_impl._M_finish;" (assignment_expression "ppOVar2 = (this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n            _M_impl._M_finish" identifier = (field_expression "(this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n            _M_impl._M_finish" (field_expression "(this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n            _M_impl" (parenthesized_expression "(this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>)" ( (binary_expression "this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>" (binary_expression "this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "this->segment_list_->\n            super__Vector_base<gold::Output_segment*,_std" (binary_expression "this->segment_list_->\n            super__Vector_base<gold" (field_expression "this->segment_list_->\n            super__Vector_base" (field_expression "this->segment_list_" identifier -> field_identifier) -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar9 = ((int)ppOVar2 - (int)ppOVar11 >> 2) * 0x38;" (assignment_expression "uVar9 = ((int)ppOVar2 - (int)ppOVar11 >> 2) * 0x38" identifier = (binary_expression "((int)ppOVar2 - (int)ppOVar11 >> 2) * 0x38" (parenthesized_expression "((int)ppOVar2 - (int)ppOVar11 >> 2)" ( (binary_expression "(int)ppOVar2 - (int)ppOVar11 >> 2" (binary_expression "(int)ppOVar2 - (int)ppOVar11" (cast_expression "(int)ppOVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppOVar11" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (expression_statement "bVar1 = (this->super_Output_data).field_0x1c;" (assignment_expression "bVar1 = (this->super_Output_data).field_0x1c" identifier = (field_expression "(this->super_Output_data).field_0x1c" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" 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 ") ))) ;) })) (if_statement "if (uVar9 != (uint)(this->super_Output_data).data_size_ ||\n      *(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0x19e,"do_sized_write");\n  }" if (parenthesized_expression "(uVar9 != (uint)(this->super_Output_data).data_size_ ||\n      *(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0)" ( (binary_expression "uVar9 != (uint)(this->super_Output_data).data_size_ ||\n      *(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0" (binary_expression "uVar9 != (uint)(this->super_Output_data).data_size_" identifier != (field_expression "(uint)(this->super_Output_data).data_size_" (call_expression "(uint)(this->super_Output_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) || (binary_expression "*(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0" (pointer_expression "*(int *)((int)&(this->super_Output_data).data_size_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_data).data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).data_size_ + 4" (cast_expression "(int)&(this->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0x19e,"do_sized_write");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x19e,"do_sized_write");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x19e,"do_sized_write")" identifier (argument_list "("../../gold/output.cc",0x19e,"do_sized_write")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") ))) ;) })) (if_statement "if ((bVar1 & 4) == 0) {\nLAB_00106f95:\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 "{\nLAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" { (labeled_statement "LAB_00106f95:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : 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 "iVar15 = *(int *)((int)&(this->super_Output_data).offset_ + 4);" (assignment_expression "iVar15 = *(int *)((int)&(this->super_Output_data).offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&(this->super_Output_data).offset_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_data).offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).offset_ + 4" (cast_expression "(int)&(this->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).offset_" & (field_expression "(this->super_Output_data).offset_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar14 = (uint)(this->super_Output_data).offset_;" (assignment_expression "uVar14 = (uint)(this->super_Output_data).offset_" identifier = (field_expression "(uint)(this->super_Output_data).offset_" (call_expression "(uint)(this->super_Output_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if ((iVar15 < 0) ||\n     (iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" if (parenthesized_expression "((iVar15 < 0) ||\n     (iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0))" ( (binary_expression "(iVar15 < 0) ||\n     (iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0)" ( (comma_expression "iVar3 = *(int *)((int)&of->file_size_ + 4), iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0" (assignment_expression "iVar3 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) ))))) , (comma_expression "iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14),\n     uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(uVar9,uVar14)" identifier = (binary_expression "iVar15 + (uint)CARRY4(uVar9,uVar14)" identifier + (cast_expression "(uint)CARRY4(uVar9,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar14)" identifier (argument_list "(uVar9,uVar14)" ( identifier , identifier )))))) , (comma_expression "uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14), iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0" (assignment_expression "uVar6 = (uint)((uint)of->file_size_ < uVar9 + uVar14)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar9 + uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar9 + uVar14)" ( (binary_expression "(uint)of->file_size_ < uVar9 + uVar14" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar9 + uVar14" identifier + identifier)) )))) , (comma_expression "iVar7 = iVar3 - iVar15,\n     (SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0" (assignment_expression "iVar7 = iVar3 - iVar15" identifier = (binary_expression "iVar3 - iVar15" identifier - identifier)) , (binary_expression "(SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)) != (int)(iVar7 - uVar6) < 0" (parenthesized_expression "(SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6))" ( (binary_expression "SBORROW4(iVar3,iVar15) != SBORROW4(iVar7,uVar6)" (call_expression "SBORROW4(iVar3,iVar15)" identifier (argument_list "(iVar3,iVar15)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar7,uVar6)" identifier (argument_list "(iVar7,uVar6)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar7 - uVar6) < 0" (cast_expression "(int)(iVar7 - uVar6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - uVar6)" ( (binary_expression "iVar7 - uVar6" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" (call_expression "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;) })) (expression_statement "puVar4 = of->base_;" (assignment_expression "puVar4 = of->base_" identifier = (field_expression "of->base_" identifier -> field_identifier)) ;) (expression_statement "puVar12 = (uint *)(puVar4 + uVar14);" (assignment_expression "puVar12 = (uint *)(puVar4 + uVar14)" identifier = (cast_expression "(uint *)(puVar4 + uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + uVar14)" ( (binary_expression "puVar4 + uVar14" identifier + identifier) )))) ;) (if_statement "if (ppOVar11 == ppOVar2) {\n    if (uVar9 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      this_00 = *ppOVar11;\n      uVar6 = this_00->type_;\n      uVar10 = *(uint *)((int)&this_00->offset_ + 4);\n      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->offset_;\n      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->vaddr_;\n      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);\n      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->paddr_;\n      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);\n      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->filesz_;\n      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);\n      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->memsz_;\n      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);\n      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      uVar6 = this_00->flags_;\n      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;\n      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar16 = Output_segment::maximum_alignment(this_00);\n      uVar10 = (uint)(uVar16 >> 0x20);\n      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);\n      uVar8 = this_00->min_p_align_;\n      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }\n      uVar10 = (uint)(uVar8 >> 0x20);\n      uVar6 = (uint)uVar8;\n      puVar13 = puVar12 + 0xe;\n      ppOVar11 = ppOVar11 + 1;\n      pSVar5 = this->segment_list_;\n      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;\n      puVar12 = puVar13;\n    } while ((pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11);\n    uVar14 = (int)puVar13 - (int)(puVar4 + uVar14);\n    if ((int)uVar14 < 0 || uVar14 != uVar9) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");\n    }\n    if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;\n  }" if (parenthesized_expression "(ppOVar11 == ppOVar2)" ( (binary_expression "ppOVar11 == ppOVar2" identifier == identifier) )) (compound_statement "{\n    if (uVar9 != 0) goto LAB_00106f78;\n  }" { (if_statement "if (uVar9 != 0) goto LAB_00106f78;" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00106f78;" goto statement_identifier ;)) }) (else_clause "else {\n    do {\n      this_00 = *ppOVar11;\n      uVar6 = this_00->type_;\n      uVar10 = *(uint *)((int)&this_00->offset_ + 4);\n      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->offset_;\n      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->vaddr_;\n      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);\n      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->paddr_;\n      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);\n      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->filesz_;\n      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);\n      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->memsz_;\n      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);\n      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      uVar6 = this_00->flags_;\n      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;\n      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar16 = Output_segment::maximum_alignment(this_00);\n      uVar10 = (uint)(uVar16 >> 0x20);\n      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);\n      uVar8 = this_00->min_p_align_;\n      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }\n      uVar10 = (uint)(uVar8 >> 0x20);\n      uVar6 = (uint)uVar8;\n      puVar13 = puVar12 + 0xe;\n      ppOVar11 = ppOVar11 + 1;\n      pSVar5 = this->segment_list_;\n      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;\n      puVar12 = puVar13;\n    } while ((pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11);\n    uVar14 = (int)puVar13 - (int)(puVar4 + uVar14);\n    if ((int)uVar14 < 0 || uVar14 != uVar9) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");\n    }\n    if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;\n  }" else (compound_statement "{\n    do {\n      this_00 = *ppOVar11;\n      uVar6 = this_00->type_;\n      uVar10 = *(uint *)((int)&this_00->offset_ + 4);\n      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->offset_;\n      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->vaddr_;\n      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);\n      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->paddr_;\n      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);\n      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->filesz_;\n      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);\n      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->memsz_;\n      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);\n      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      uVar6 = this_00->flags_;\n      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;\n      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar16 = Output_segment::maximum_alignment(this_00);\n      uVar10 = (uint)(uVar16 >> 0x20);\n      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);\n      uVar8 = this_00->min_p_align_;\n      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }\n      uVar10 = (uint)(uVar8 >> 0x20);\n      uVar6 = (uint)uVar8;\n      puVar13 = puVar12 + 0xe;\n      ppOVar11 = ppOVar11 + 1;\n      pSVar5 = this->segment_list_;\n      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;\n      puVar12 = puVar13;\n    } while ((pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11);\n    uVar14 = (int)puVar13 - (int)(puVar4 + uVar14);\n    if ((int)uVar14 < 0 || uVar14 != uVar9) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");\n    }\n    if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;\n  }" { (do_statement "do {\n      this_00 = *ppOVar11;\n      uVar6 = this_00->type_;\n      uVar10 = *(uint *)((int)&this_00->offset_ + 4);\n      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->offset_;\n      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->vaddr_;\n      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);\n      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->paddr_;\n      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);\n      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->filesz_;\n      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);\n      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->memsz_;\n      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);\n      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      uVar6 = this_00->flags_;\n      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;\n      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar16 = Output_segment::maximum_alignment(this_00);\n      uVar10 = (uint)(uVar16 >> 0x20);\n      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);\n      uVar8 = this_00->min_p_align_;\n      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }\n      uVar10 = (uint)(uVar8 >> 0x20);\n      uVar6 = (uint)uVar8;\n      puVar13 = puVar12 + 0xe;\n      ppOVar11 = ppOVar11 + 1;\n      pSVar5 = this->segment_list_;\n      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;\n      puVar12 = puVar13;\n    } while ((pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11);" do (compound_statement "{\n      this_00 = *ppOVar11;\n      uVar6 = this_00->type_;\n      uVar10 = *(uint *)((int)&this_00->offset_ + 4);\n      *puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->offset_;\n      puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar6 = (uint)this_00->vaddr_;\n      uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);\n      puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->paddr_;\n      uVar10 = *(uint *)((int)&this_00->paddr_ + 4);\n      puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->filesz_;\n      uVar10 = *(uint *)((int)&this_00->filesz_ + 4);\n      puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n      uVar6 = (uint)this_00->memsz_;\n      uVar10 = *(uint *)((int)&this_00->memsz_ + 4);\n      puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      uVar6 = this_00->flags_;\n      puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;\n      puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n      uVar16 = Output_segment::maximum_alignment(this_00);\n      uVar10 = (uint)(uVar16 >> 0x20);\n      uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);\n      uVar8 = this_00->min_p_align_;\n      if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }\n      uVar10 = (uint)(uVar8 >> 0x20);\n      uVar6 = (uint)uVar8;\n      puVar13 = puVar12 + 0xe;\n      ppOVar11 = ppOVar11 + 1;\n      pSVar5 = this->segment_list_;\n      puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;\n      puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;\n      puVar12 = puVar13;\n    }" { (expression_statement "this_00 = *ppOVar11;" (assignment_expression "this_00 = *ppOVar11" identifier = (pointer_expression "*ppOVar11" * identifier)) ;) (expression_statement "uVar6 = this_00->type_;" (assignment_expression "uVar6 = this_00->type_" identifier = (field_expression "this_00->type_" identifier -> field_identifier)) ;) (expression_statement "uVar10 = *(uint *)((int)&this_00->offset_ + 4);" (assignment_expression "uVar10 = *(uint *)((int)&this_00->offset_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00->offset_ + 4)" * (cast_expression "(uint *)((int)&this_00->offset_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->offset_ + 4)" ( (binary_expression "(int)&this_00->offset_ + 4" (cast_expression "(int)&this_00->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "*puVar12 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (pointer_expression "*puVar12" * identifier) = (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 "uVar6 = (uint)this_00->offset_;" (assignment_expression "uVar6 = (uint)this_00->offset_" identifier = (cast_expression "(uint)this_00->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this_00->offset_" identifier -> field_identifier))) ;) (expression_statement "puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "puVar12[2] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "puVar12[3] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[3]" 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 "uVar6 = (uint)this_00->vaddr_;" (assignment_expression "uVar6 = (uint)this_00->vaddr_" identifier = (cast_expression "(uint)this_00->vaddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this_00->vaddr_" identifier -> field_identifier))) ;) (expression_statement "uVar10 = *(uint *)((int)&this_00->vaddr_ + 4);" (assignment_expression "uVar10 = *(uint *)((int)&this_00->vaddr_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00->vaddr_ + 4)" * (cast_expression "(uint *)((int)&this_00->vaddr_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->vaddr_ + 4)" ( (binary_expression "(int)&this_00->vaddr_ + 4" (cast_expression "(int)&this_00->vaddr_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->vaddr_" & (field_expression "this_00->vaddr_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "puVar12[5] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[5]" 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 "puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "puVar12[4] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar6 = (uint)this_00->paddr_;" (assignment_expression "uVar6 = (uint)this_00->paddr_" identifier = (cast_expression "(uint)this_00->paddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this_00->paddr_" identifier -> field_identifier))) ;) (expression_statement "uVar10 = *(uint *)((int)&this_00->paddr_ + 4);" (assignment_expression "uVar10 = *(uint *)((int)&this_00->paddr_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00->paddr_ + 4)" * (cast_expression "(uint *)((int)&this_00->paddr_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->paddr_ + 4)" ( (binary_expression "(int)&this_00->paddr_ + 4" (cast_expression "(int)&this_00->paddr_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->paddr_" & (field_expression "this_00->paddr_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "puVar12[7] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[7]" 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 "puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "puVar12[6] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (subscript_expression "puVar12[6]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar6 = (uint)this_00->filesz_;" (assignment_expression "uVar6 = (uint)this_00->filesz_" identifier = (cast_expression "(uint)this_00->filesz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this_00->filesz_" identifier -> field_identifier))) ;) (expression_statement "uVar10 = *(uint *)((int)&this_00->filesz_ + 4);" (assignment_expression "uVar10 = *(uint *)((int)&this_00->filesz_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00->filesz_ + 4)" * (cast_expression "(uint *)((int)&this_00->filesz_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->filesz_ + 4)" ( (binary_expression "(int)&this_00->filesz_ + 4" (cast_expression "(int)&this_00->filesz_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->filesz_" & (field_expression "this_00->filesz_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "puVar12[9] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[9]" 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 "puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "puVar12[8] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar6 = (uint)this_00->memsz_;" (assignment_expression "uVar6 = (uint)this_00->memsz_" identifier = (cast_expression "(uint)this_00->memsz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this_00->memsz_" identifier -> field_identifier))) ;) (expression_statement "uVar10 = *(uint *)((int)&this_00->memsz_ + 4);" (assignment_expression "uVar10 = *(uint *)((int)&this_00->memsz_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00->memsz_ + 4)" * (cast_expression "(uint *)((int)&this_00->memsz_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->memsz_ + 4)" ( (binary_expression "(int)&this_00->memsz_ + 4" (cast_expression "(int)&this_00->memsz_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->memsz_" & (field_expression "this_00->memsz_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;" (assignment_expression "puVar12[0xb] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[0xb]" 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 "uVar6 = this_00->flags_;" (assignment_expression "uVar6 = this_00->flags_" identifier = (field_expression "this_00->flags_" identifier -> field_identifier)) ;) (expression_statement "puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18;" (assignment_expression "puVar12[10] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                    uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "puVar12[1] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[1]" 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))) ;) (ERROR "uVar16 = Output_segment::" (assignment_expression "uVar16 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(this_00);" (call_expression "maximum_alignment(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) (expression_statement "uVar10 = (uint)(uVar16 >> 0x20);" (assignment_expression "uVar10 = (uint)(uVar16 >> 0x20)" identifier = (call_expression "(uint)(uVar16 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 >> 0x20)" ( (binary_expression "uVar16 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4);" (assignment_expression "uVar6 = *(uint *)((int)&this_00->min_p_align_ + 4)" identifier = (pointer_expression "*(uint *)((int)&this_00->min_p_align_ + 4)" * (cast_expression "(uint *)((int)&this_00->min_p_align_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->min_p_align_ + 4)" ( (binary_expression "(int)&this_00->min_p_align_ + 4" (cast_expression "(int)&this_00->min_p_align_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->min_p_align_" & (field_expression "this_00->min_p_align_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar8 = this_00->min_p_align_;" (assignment_expression "uVar8 = this_00->min_p_align_" identifier = (field_expression "this_00->min_p_align_" identifier -> field_identifier)) ;) (if_statement "if (uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)) {\n        uVar8 = uVar16;\n      }" if (parenthesized_expression "(uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16))" ( (binary_expression "uVar6 < uVar10 || uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)" (binary_expression "uVar6 < uVar10" identifier < identifier) || (binary_expression "uVar6 - uVar10 < (uint)((uint)this_00->min_p_align_ < (uint)uVar16)" (binary_expression "uVar6 - uVar10" identifier - identifier) < (call_expression "(uint)((uint)this_00->min_p_align_ < (uint)uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)this_00->min_p_align_ < (uint)uVar16)" ( (binary_expression "(uint)this_00->min_p_align_ < (uint)uVar16" (cast_expression "(uint)this_00->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this_00->min_p_align_" identifier -> field_identifier)) < (cast_expression "(uint)uVar16" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n        uVar8 = uVar16;\n      }" { (expression_statement "uVar8 = uVar16;" (assignment_expression "uVar8 = uVar16" identifier = identifier) ;) })) (expression_statement "uVar10 = (uint)(uVar8 >> 0x20);" (assignment_expression "uVar10 = (uint)(uVar8 >> 0x20)" identifier = (call_expression "(uint)(uVar8 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 0x20)" ( (binary_expression "uVar8 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar6 = (uint)uVar8;" (assignment_expression "uVar6 = (uint)uVar8" identifier = (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar13 = puVar12 + 0xe;" (assignment_expression "puVar13 = puVar12 + 0xe" identifier = (binary_expression "puVar12 + 0xe" identifier + number_literal)) ;) (expression_statement "ppOVar11 = ppOVar11 + 1;" (assignment_expression "ppOVar11 = ppOVar11 + 1" identifier = (binary_expression "ppOVar11 + 1" identifier + number_literal)) ;) (expression_statement "pSVar5 = this->segment_list_;" (assignment_expression "pSVar5 = this->segment_list_" identifier = (field_expression "this->segment_list_" identifier -> field_identifier)) ;) (expression_statement "puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18\n      ;" (assignment_expression "puVar12[0xd] = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (subscript_expression "puVar12[0xd]" 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 "puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18;" (assignment_expression "puVar12[0xc] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18" (subscript_expression "puVar12[0xc]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                     uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "((pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11)" ( (binary_expression "(pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish != ppOVar11" (field_expression "(pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl._M_finish" (field_expression "(pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n             _M_impl" (parenthesized_expression "(pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>)" ( (binary_expression "pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>" (binary_expression "pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "pSVar5->\n             super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "pSVar5->\n             super__Vector_base<gold::Output_segment*,_std" (binary_expression "pSVar5->\n             super__Vector_base<gold" (field_expression "pSVar5->\n             super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) != identifier) )) ;) (expression_statement "uVar14 = (int)puVar13 - (int)(puVar4 + uVar14);" (assignment_expression "uVar14 = (int)puVar13 - (int)(puVar4 + uVar14)" identifier = (binary_expression "(int)puVar13 - (int)(puVar4 + uVar14)" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(puVar4 + uVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar4 + uVar14)" ( (binary_expression "puVar4 + uVar14" identifier + identifier) ))))) ;) (if_statement "if ((int)uVar14 < 0 || uVar14 != uVar9) {\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");\n    }" if (parenthesized_expression "((int)uVar14 < 0 || uVar14 != uVar9)" ( (binary_expression "(int)uVar14 < 0 || uVar14 != uVar9" (binary_expression "(int)uVar14 < 0" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "uVar14 != uVar9" identifier != identifier)) )) (compound_statement "{\nLAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");\n    }" { (labeled_statement "LAB_00106f78:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write");" (call_expression "do_gold_unreachable("../../gold/output.cc",0x1ab,"do_sized_write")" identifier (argument_list "("../../gold/output.cc",0x1ab,"do_sized_write")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") ))) ;)) })) (if_statement "if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;" if (parenthesized_expression "(((this->super_Output_data).field_0x1c & 4) == 0)" ( (binary_expression "((this->super_Output_data).field_0x1c & 4) == 0" (parenthesized_expression "((this->super_Output_data).field_0x1c & 4)" ( (binary_expression "(this->super_Output_data).field_0x1c & 4" (field_expression "(this->super_Output_data).field_0x1c" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00106f95;" goto statement_identifier ;)) }))) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00106dd0(int *param_1,int param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00106dd0(int *param_1,int param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00106dd0(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (expression_statement "piVar7 = *(int **)param_1[8];" (assignment_expression "piVar7 = *(int **)param_1[8]" identifier = (pointer_expression "*(int **)param_1[8]" * (cast_expression "(int **)param_1[8]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[8]" identifier [ number_literal ])))) ;) (expression_statement "piVar1 = (int *)((int *)param_1[8])[1];" (assignment_expression "piVar1 = (int *)((int *)param_1[8])[1]" identifier = (cast_expression "(int *)((int *)param_1[8])[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)param_1[8])[1]" (parenthesized_expression "((int *)param_1[8])" ( (cast_expression "(int *)param_1[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) )) [ number_literal ]))) ;) (expression_statement "uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;" (assignment_expression "uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38" identifier = (binary_expression "((int)piVar1 - (int)piVar7 >> 2) * 0x38" (parenthesized_expression "((int)piVar1 - (int)piVar7 >> 2)" ( (binary_expression "(int)piVar1 - (int)piVar7 >> 2" (binary_expression "(int)piVar1 - (int)piVar7" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 7) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 7) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 2)" ( (binary_expression "*(byte *)(param_1 + 7) & 2" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }" { (expression_statement "FUN_00069d00("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00069d00("../../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 ") ))) ;) })) (if_statement "if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }" if (parenthesized_expression "(uVar4 != param_1[3] || param_1[4] != 0)" ( (binary_expression "uVar4 != param_1[3] || param_1[4] != 0" (binary_expression "uVar4 != param_1[3]" identifier != (subscript_expression "param_1[3]" identifier [ number_literal ])) || (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal)) )) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }" { (expression_statement "FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);" (call_expression "FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4)" identifier (argument_list "("../../gold/output.cc",0x19e,"do_sized_write",uVar4)" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , identifier ))) ;) })) (expression_statement "piVar5 = param_1;" (assignment_expression "piVar5 = param_1" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 7) & 4) == 0)" ( (binary_expression "(*(byte *)(param_1 + 7) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 4)" ( (binary_expression "*(byte *)(param_1 + 7) & 4" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }" { (labeled_statement "LAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);" statement_identifier : (expression_statement "FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);" (call_expression "FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",piVar5)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;)) })) (expression_statement "iVar6 = param_1[6];" (assignment_expression "iVar6 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = param_1[5];" (assignment_expression "uVar11 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" identifier = identifier) ;) (if_statement "if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }" if (parenthesized_expression "((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0))" ( (binary_expression "(iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)" (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)" ( (comma_expression "iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11)" identifier = (binary_expression "iVar6 + (uint)CARRY4(uVar4,uVar11)" identifier + (cast_expression "(uint)CARRY4(uVar4,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar4,uVar11)" identifier (argument_list "(uVar4,uVar11)" ( identifier , identifier )))))) , (comma_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar4 + uVar11)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar4 + uVar11" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar4 + uVar11" identifier + identifier)) )))) , (comma_expression "iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "iVar2 = *(int *)(param_2 + 0xc) - iVar12" identifier = (binary_expression "*(int *)(param_2 + 0xc) - iVar12" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) , (comma_expression "piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "piVar5 = (int *)(iVar2 - uVar13)" identifier = (cast_expression "(int *)(iVar2 - uVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 - uVar13)" ( (binary_expression "iVar2 - uVar13" identifier - identifier) )))) , (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar12)" identifier (argument_list "(*(int *)(param_2 + 0xc),iVar12)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar2,uVar13)" identifier (argument_list "(iVar2,uVar13)" ( identifier , identifier )))) )) != (binary_expression "(int)piVar5 < 0" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)))))) ))) )) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }" { (expression_statement "FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);" (call_expression "FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",piVar5)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;) })) (expression_statement "puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);" (assignment_expression "puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x10) + uVar11)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar11)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar11" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "puVar9 = puVar8;" (assignment_expression "puVar9 = puVar8" identifier = identifier) ;) (if_statement "if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" if (parenthesized_expression "(piVar7 == piVar1)" ( (binary_expression "piVar7 == piVar1" identifier == identifier) )) (compound_statement "{\n    if (uVar4 != 0) goto LAB_00106f78;\n  }" { (if_statement "if (uVar4 != 0) goto LAB_00106f78;" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00106f78;" goto statement_identifier ;)) }) (else_clause "else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" else (compound_statement "{\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" { (do_statement "do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);" do (compound_statement "{\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    }" { (expression_statement "iVar6 = *piVar7;" (assignment_expression "iVar6 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x194);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x194)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x194)" * (cast_expression "(uint *)(iVar6 + 0x194)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x194)" ( (binary_expression "iVar6 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x188);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x188)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x188)" * (cast_expression "(uint *)(iVar6 + 0x188)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x188)" ( (binary_expression "iVar6 + 0x188" identifier + number_literal) ))))) ;) (expression_statement "*puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x184);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x184)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x184)" * (cast_expression "(uint *)(iVar6 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x184)" ( (binary_expression "iVar6 + 0x184" identifier + number_literal) ))))) ;) (expression_statement "puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x15c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x15c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x15c)" * (cast_expression "(uint *)(iVar6 + 0x15c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x15c)" ( (binary_expression "iVar6 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x160);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x160)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x160)" * (cast_expression "(uint *)(iVar6 + 0x160)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x160)" ( (binary_expression "iVar6 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x164);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x164)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x164)" * (cast_expression "(uint *)(iVar6 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x164)" ( (binary_expression "iVar6 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x168);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x168)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x168)" * (cast_expression "(uint *)(iVar6 + 0x168)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x168)" ( (binary_expression "iVar6 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[7]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x18c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x18c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x18c)" * (cast_expression "(uint *)(iVar6 + 0x18c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18c)" ( (binary_expression "iVar6 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 400);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 400)" identifier = (pointer_expression "*(uint *)(iVar6 + 400)" * (cast_expression "(uint *)(iVar6 + 400)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 400)" ( (binary_expression "iVar6 + 400" identifier + number_literal) ))))) ;) (expression_statement "puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[9]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[8]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x16c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x16c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x16c)" * (cast_expression "(uint *)(iVar6 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x16c)" ( (binary_expression "iVar6 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x170);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x170)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x170)" * (cast_expression "(uint *)(iVar6 + 0x170)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x170)" ( (binary_expression "iVar6 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;" (assignment_expression "puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (subscript_expression "puVar9[0xb]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x198);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x198)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x198)" * (cast_expression "(uint *)(iVar6 + 0x198)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x198)" ( (binary_expression "iVar6 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;" (assignment_expression "puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18" (subscript_expression "puVar9[10]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar14 = FUN_000efe40(iVar6);" (assignment_expression "uVar14 = FUN_000efe40(iVar6)" identifier = (call_expression "FUN_000efe40(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar11 = (uint)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar11 = (uint)((ulonglong)uVar14 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar3 = *(undefined8 *)(iVar6 + 0x17c);" (assignment_expression "uVar3 = *(undefined8 *)(iVar6 + 0x17c)" identifier = (pointer_expression "*(undefined8 *)(iVar6 + 0x17c)" * (cast_expression "(undefined8 *)(iVar6 + 0x17c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x17c)" ( (binary_expression "iVar6 + 0x17c" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }" if (parenthesized_expression "(*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14))" ( (binary_expression "*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (binary_expression "*(uint *)(iVar6 + 0x180) < uVar11" (pointer_expression "*(uint *)(iVar6 + 0x180)" * (cast_expression "(uint *)(iVar6 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x180)" ( (binary_expression "iVar6 + 0x180" identifier + number_literal) )))) < identifier) || (binary_expression "*(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (binary_expression "*(uint *)(iVar6 + 0x180) - uVar11" (pointer_expression "*(uint *)(iVar6 + 0x180)" * (cast_expression "(uint *)(iVar6 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x180)" ( (binary_expression "iVar6 + 0x180" identifier + number_literal) )))) - identifier) < (call_expression "(uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" ( (binary_expression "*(uint *)(iVar6 + 0x17c) < (uint)uVar14" (pointer_expression "*(uint *)(iVar6 + 0x17c)" * (cast_expression "(uint *)(iVar6 + 0x17c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x17c)" ( (binary_expression "iVar6 + 0x17c" identifier + number_literal) )))) < (cast_expression "(uint)uVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n        uVar3 = uVar14;\n      }" { (expression_statement "uVar3 = uVar14;" (assignment_expression "uVar3 = uVar14" identifier = identifier) ;) })) (expression_statement "uVar13 = (uint)((ulonglong)uVar3 >> 0x20);" (assignment_expression "uVar13 = (uint)((ulonglong)uVar3 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar3 >> 0x20)" ( (binary_expression "(ulonglong)uVar3 >> 0x20" (cast_expression "(ulonglong)uVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar11 = (uint)uVar3;" (assignment_expression "uVar11 = (uint)uVar3" identifier = (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10 = puVar9 + 0xe;" (assignment_expression "puVar10 = puVar9 + 0xe" identifier = (binary_expression "puVar9 + 0xe" identifier + number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = param_1[8];" (assignment_expression "iVar6 = param_1[8]" identifier = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;" (assignment_expression "puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (subscript_expression "puVar9[0xd]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;" (assignment_expression "puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18" (subscript_expression "puVar9[0xc]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) }) while (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar7)" ( (binary_expression "*(int **)(iVar6 + 4) != piVar7" (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "uVar11 = (int)puVar10 - (int)puVar8;" (assignment_expression "uVar11 = (int)puVar10 - (int)puVar8" identifier = (binary_expression "(int)puVar10 - (int)puVar8" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar6 = (int)uVar11 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar11 >> 0x1f" identifier = (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }" if (parenthesized_expression "((int)uVar11 < 0 || uVar11 != uVar4)" ( (binary_expression "(int)uVar11 < 0 || uVar11 != uVar4" (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) || (binary_expression "uVar11 != uVar4" identifier != identifier)) )) (compound_statement "{\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }" { (labeled_statement "LAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);" statement_identifier : (expression_statement "FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);" (call_expression "FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6)" identifier (argument_list "("../../gold/output.cc",0x1ab,"do_sized_write",iVar6)" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""do_sized_write"" " string_content ") , identifier ))) ;)) })) (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;" if (parenthesized_expression "((*(byte *)(param_1 + 7) & 4) == 0)" ( (binary_expression "(*(byte *)(param_1 + 7) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 4)" ( (binary_expression "*(byte *)(param_1 + 7) & 4" (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00106f95;" goto statement_identifier ;)) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * 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 ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) || (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = 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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , 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) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)))))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> 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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) || (binary_expression IDENT != IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (expression_statement (assignment_expression IDENT = 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) )) (goto_statement goto statement_identifier ;)) }))) (return_statement return ;) })))
(function_definition "void FUN_00106dd0(int *param_1,int param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00106dd0(int *param_1,int param_2)" (identifier "FUN_00106dd0") (parameter_list "(int *param_1,int param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  undefined8 uVar3;\n  uint uVar4;\n  int *piVar5;\n  int iVar6;\n  int *piVar7;\n  uint *puVar8;\n  uint *puVar9;\n  uint *puVar10;\n  uint uVar11;\n  int iVar12;\n  uint uVar13;\n  undefined8 uVar14;\n  \n  piVar7 = *(int **)param_1[8];\n  piVar1 = (int *)((int *)param_1[8])[1];\n  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;\n  if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }\n  if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }\n  piVar5 = param_1;\n  if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }\n  iVar6 = param_1[6];\n  uVar11 = param_1[5];\n  piVar5 = piVar7;\n  if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }\n  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);\n  puVar9 = puVar8;\n  if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "uint *puVar9;" (type_identifier "uint") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (expression_statement "piVar7 = *(int **)param_1[8];" (assignment_expression "piVar7 = *(int **)param_1[8]" (identifier "piVar7") (= "=") (pointer_expression "*(int **)param_1[8]" (* "*") (cast_expression "(int **)param_1[8]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))))) (; ";")) (expression_statement "piVar1 = (int *)((int *)param_1[8])[1];" (assignment_expression "piVar1 = (int *)((int *)param_1[8])[1]" (identifier "piVar1") (= "=") (cast_expression "(int *)((int *)param_1[8])[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "((int *)param_1[8])[1]" (parenthesized_expression "((int *)param_1[8])" (( "(") (cast_expression "(int *)param_1[8]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;" (assignment_expression "uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38" (identifier "uVar4") (= "=") (binary_expression "((int)piVar1 - (int)piVar7 >> 2) * 0x38" (parenthesized_expression "((int)piVar1 - (int)piVar7 >> 2)" (( "(") (binary_expression "(int)piVar1 - (int)piVar7 >> 2" (binary_expression "(int)piVar1 - (int)piVar7" (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1")) (- "-") (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x38"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 7) & 2) == 0) {\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 7) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 7) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 7) & 2" (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n  }" ({ "{") (expression_statement "FUN_00069d00("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00069d00("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_00069d00") (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") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar4 != param_1[3] || param_1[4] != 0) {\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }" (if "if") (parenthesized_expression "(uVar4 != param_1[3] || param_1[4] != 0)" (( "(") (binary_expression "uVar4 != param_1[3] || param_1[4] != 0" (binary_expression "uVar4 != param_1[3]" (identifier "uVar4") (!= "!=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (|| "||") (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);\n  }" ({ "{") (expression_statement "FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);" (call_expression "FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4)" (identifier "FUN_00069d00") (argument_list "("../../gold/output.cc",0x19e,"do_sized_write",uVar4)" (( "(") (string_literal ""../../gold/output.cc"" (" """) (string_content "../../gold/output.cc") (" """)) (, ",") (number_literal "0x19e") (, ",") (string_literal ""do_sized_write"" (" """) (string_content "do_sized_write") (" """)) (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar5 = param_1;" (assignment_expression "piVar5 = param_1" (identifier "piVar5") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((*(byte *)(param_1 + 7) & 4) == 0) {\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 7) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 7) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 4)" (( "(") (binary_expression "*(byte *)(param_1 + 7) & 4" (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);\n  }" ({ "{") (labeled_statement "LAB_00106f95:\n                    \n    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);" (statement_identifier "LAB_00106f95") (: ":") (expression_statement "FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);" (call_expression "FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5)" (identifier "FUN_00069d00") (argument_list "("../../gold/output.h",0xe3,"offset",piVar5)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) (, ",") (identifier "piVar5") () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar6 = param_1[6];" (assignment_expression "iVar6 = param_1[6]" (identifier "iVar6") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar11 = param_1[5];" (assignment_expression "uVar11 = param_1[5]" (identifier "uVar11") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" (identifier "piVar5") (= "=") (identifier "piVar7")) (; ";")) (if_statement "if ((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }" (if "if") (parenthesized_expression "((iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0))" (( "(") (binary_expression "(iVar6 < 0) ||\n     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)" (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)" (( "(") (comma_expression "iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),\n     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11)" (identifier "iVar12") (= "=") (binary_expression "iVar6 + (uint)CARRY4(uVar4,uVar11)" (identifier "iVar6") (+ "+") (cast_expression "(uint)CARRY4(uVar4,uVar11)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar4,uVar11)" (identifier "CARRY4") (argument_list "(uVar4,uVar11)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar11") () ")")))))) (, ",") (comma_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),\n     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11)" (identifier "uVar13") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar4 + uVar11)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar4 + uVar11" (pointer_expression "*(uint *)(param_2 + 8)" (* "*") (cast_expression "(uint *)(param_2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "uVar4 + uVar11" (identifier "uVar4") (+ "+") (identifier "uVar11"))) () ")")))) (, ",") (comma_expression "iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "iVar2 = *(int *)(param_2 + 0xc) - iVar12" (identifier "iVar2") (= "=") (binary_expression "*(int *)(param_2 + 0xc) - iVar12" (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "iVar12"))) (, ",") (comma_expression "piVar5 = (int *)(iVar2 - uVar13),\n     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (assignment_expression "piVar5 = (int *)(iVar2 - uVar13)" (identifier "piVar5") (= "=") (cast_expression "(int *)(iVar2 - uVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 - uVar13)" (( "(") (binary_expression "iVar2 - uVar13" (identifier "iVar2") (- "-") (identifier "uVar13")) () ")")))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13))" (( "(") (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),iVar12)" (identifier "SBORROW4") (argument_list "(*(int *)(param_2 + 0xc),iVar12)" (( "(") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar12") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar2,uVar13)" (identifier "SBORROW4") (argument_list "(iVar2,uVar13)" (( "(") (identifier "iVar2") (, ",") (identifier "uVar13") () ")")))) () ")")) (!= "!=") (binary_expression "(int)piVar5 < 0" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (< "<") (number_literal "0"))))))) () ")"))) () ")")) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);\n  }" ({ "{") (expression_statement "FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);" (call_expression "FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5)" (identifier "FUN_00069d00") (argument_list "("../../gold/output.h",0x6f,"get_output_view",piVar5)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x6f") (, ",") (string_literal ""get_output_view"" (" """) (string_content "get_output_view") (" """)) (, ",") (identifier "piVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);" (assignment_expression "puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11)" (identifier "puVar8") (= "=") (cast_expression "(uint *)(*(int *)(param_2 + 0x10) + uVar11)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar11)" (( "(") (binary_expression "*(int *)(param_2 + 0x10) + uVar11" (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "uVar11")) () ")")))) (; ";")) (expression_statement "puVar9 = puVar8;" (assignment_expression "puVar9 = puVar8" (identifier "puVar9") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (piVar7 == piVar1) {\n    if (uVar4 != 0) goto LAB_00106f78;\n  }\n  else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" (if "if") (parenthesized_expression "(piVar7 == piVar1)" (( "(") (binary_expression "piVar7 == piVar1" (identifier "piVar7") (== "==") (identifier "piVar1")) () ")")) (compound_statement "{\n    if (uVar4 != 0) goto LAB_00106f78;\n  }" ({ "{") (if_statement "if (uVar4 != 0) goto LAB_00106f78;" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00106f78;" (goto "goto") (statement_identifier "LAB_00106f78") (; ";"))) (} "}")) (else_clause "else {\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" (else "else") (compound_statement "{\n    do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);\n    uVar11 = (int)puVar10 - (int)puVar8;\n    iVar6 = (int)uVar11 >> 0x1f;\n    if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }\n    piVar5 = piVar7;\n    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;\n  }" ({ "{") (do_statement "do {\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    } while (*(int **)(iVar6 + 4) != piVar7);" (do "do") (compound_statement "{\n      iVar6 = *piVar7;\n      uVar11 = *(uint *)(iVar6 + 0x194);\n      uVar13 = *(uint *)(iVar6 + 0x188);\n      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x184);\n      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x15c);\n      uVar13 = *(uint *)(iVar6 + 0x160);\n      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x164);\n      uVar13 = *(uint *)(iVar6 + 0x168);\n      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x18c);\n      uVar13 = *(uint *)(iVar6 + 400);\n      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x16c);\n      uVar13 = *(uint *)(iVar6 + 0x170);\n      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      uVar11 = *(uint *)(iVar6 + 0x198);\n      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;\n      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;\n      uVar14 = FUN_000efe40(iVar6);\n      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);\n      uVar3 = *(undefined8 *)(iVar6 + 0x17c);\n      if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }\n      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);\n      uVar11 = (uint)uVar3;\n      puVar10 = puVar9 + 0xe;\n      piVar7 = piVar7 + 1;\n      iVar6 = param_1[8];\n      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;\n      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;\n      puVar9 = puVar10;\n    }" ({ "{") (expression_statement "iVar6 = *piVar7;" (assignment_expression "iVar6 = *piVar7" (identifier "iVar6") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x194);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x194)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x194)" (* "*") (cast_expression "(uint *)(iVar6 + 0x194)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x194)" (( "(") (binary_expression "iVar6 + 0x194" (identifier "iVar6") (+ "+") (number_literal "0x194")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x188);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x188)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x188)" (* "*") (cast_expression "(uint *)(iVar6 + 0x188)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x188)" (( "(") (binary_expression "iVar6 + 0x188" (identifier "iVar6") (+ "+") (number_literal "0x188")) () ")"))))) (; ";")) (expression_statement "*puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x184);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x184)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x184)" (* "*") (cast_expression "(uint *)(iVar6 + 0x184)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x184)" (( "(") (binary_expression "iVar6 + 0x184" (identifier "iVar6") (+ "+") (number_literal "0x184")) () ")"))))) (; ";")) (expression_statement "puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[3]" (identifier "puVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x15c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x15c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x15c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x15c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x15c)" (( "(") (binary_expression "iVar6 + 0x15c" (identifier "iVar6") (+ "+") (number_literal "0x15c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x160);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x160)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x160)" (* "*") (cast_expression "(uint *)(iVar6 + 0x160)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x160)" (( "(") (binary_expression "iVar6 + 0x160" (identifier "iVar6") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (expression_statement "puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[5]" (identifier "puVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[4]" (identifier "puVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x164);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x164)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x164)" (* "*") (cast_expression "(uint *)(iVar6 + 0x164)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x164)" (( "(") (binary_expression "iVar6 + 0x164" (identifier "iVar6") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x168);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x168)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x168)" (* "*") (cast_expression "(uint *)(iVar6 + 0x168)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x168)" (( "(") (binary_expression "iVar6 + 0x168" (identifier "iVar6") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[7]" (identifier "puVar9") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x18c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x18c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x18c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x18c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18c)" (( "(") (binary_expression "iVar6 + 0x18c" (identifier "iVar6") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar6 + 400);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 400)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar6 + 400)" (* "*") (cast_expression "(uint *)(iVar6 + 400)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 400)" (( "(") (binary_expression "iVar6 + 400" (identifier "iVar6") (+ "+") (number_literal "400")) () ")"))))) (; ";")) (expression_statement "puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[9]" (identifier "puVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18;" (assignment_expression "puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (subscript_expression "puVar9[8]" (identifier "puVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                  uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x16c);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x16c)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x16c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x16c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x16c)" (( "(") (binary_expression "iVar6 + 0x16c" (identifier "iVar6") (+ "+") (number_literal "0x16c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar6 + 0x170);" (assignment_expression "uVar13 = *(uint *)(iVar6 + 0x170)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x170)" (* "*") (cast_expression "(uint *)(iVar6 + 0x170)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x170)" (( "(") (binary_expression "iVar6 + 0x170" (identifier "iVar6") (+ "+") (number_literal "0x170")) () ")"))))) (; ";")) (expression_statement "puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;" (assignment_expression "puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (subscript_expression "puVar9[0xb]" (identifier "puVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar6 + 0x198);" (assignment_expression "uVar11 = *(uint *)(iVar6 + 0x198)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x198)" (* "*") (cast_expression "(uint *)(iVar6 + 0x198)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x198)" (( "(") (binary_expression "iVar6 + 0x198" (identifier "iVar6") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18;" (assignment_expression "puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18" (subscript_expression "puVar9[10]" (identifier "puVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                   uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18;" (assignment_expression "puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                  uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar14 = FUN_000efe40(iVar6);" (assignment_expression "uVar14 = FUN_000efe40(iVar6)" (identifier "uVar14") (= "=") (call_expression "FUN_000efe40(iVar6)" (identifier "FUN_000efe40") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "uVar11 = (uint)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar11 = (uint)((ulonglong)uVar14 >> 0x20)" (identifier "uVar11") (= "=") (call_expression "(uint)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar14 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar3 = *(undefined8 *)(iVar6 + 0x17c);" (assignment_expression "uVar3 = *(undefined8 *)(iVar6 + 0x17c)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined8 *)(iVar6 + 0x17c)" (* "*") (cast_expression "(undefined8 *)(iVar6 + 0x17c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x17c)" (( "(") (binary_expression "iVar6 + 0x17c" (identifier "iVar6") (+ "+") (number_literal "0x17c")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {\n        uVar3 = uVar14;\n      }" (if "if") (parenthesized_expression "(*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14))" (( "(") (binary_expression "*(uint *)(iVar6 + 0x180) < uVar11 ||\n          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (binary_expression "*(uint *)(iVar6 + 0x180) < uVar11" (pointer_expression "*(uint *)(iVar6 + 0x180)" (* "*") (cast_expression "(uint *)(iVar6 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x180)" (( "(") (binary_expression "iVar6 + 0x180" (identifier "iVar6") (+ "+") (number_literal "0x180")) () ")")))) (< "<") (identifier "uVar11")) (|| "||") (binary_expression "*(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (binary_expression "*(uint *)(iVar6 + 0x180) - uVar11" (pointer_expression "*(uint *)(iVar6 + 0x180)" (* "*") (cast_expression "(uint *)(iVar6 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x180)" (( "(") (binary_expression "iVar6 + 0x180" (identifier "iVar6") (+ "+") (number_literal "0x180")) () ")")))) (- "-") (identifier "uVar11")) (< "<") (call_expression "(uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)" (( "(") (binary_expression "*(uint *)(iVar6 + 0x17c) < (uint)uVar14" (pointer_expression "*(uint *)(iVar6 + 0x17c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x17c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x17c)" (( "(") (binary_expression "iVar6 + 0x17c" (identifier "iVar6") (+ "+") (number_literal "0x17c")) () ")")))) (< "<") (cast_expression "(uint)uVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar14"))) () ")"))))) () ")")) (compound_statement "{\n        uVar3 = uVar14;\n      }" ({ "{") (expression_statement "uVar3 = uVar14;" (assignment_expression "uVar3 = uVar14" (identifier "uVar3") (= "=") (identifier "uVar14")) (; ";")) (} "}"))) (expression_statement "uVar13 = (uint)((ulonglong)uVar3 >> 0x20);" (assignment_expression "uVar13 = (uint)((ulonglong)uVar3 >> 0x20)" (identifier "uVar13") (= "=") (call_expression "(uint)((ulonglong)uVar3 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar3 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar3 >> 0x20" (cast_expression "(ulonglong)uVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar3")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar11 = (uint)uVar3;" (assignment_expression "uVar11 = (uint)uVar3" (identifier "uVar11") (= "=") (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3"))) (; ";")) (expression_statement "puVar10 = puVar9 + 0xe;" (assignment_expression "puVar10 = puVar9 + 0xe" (identifier "puVar10") (= "=") (binary_expression "puVar9 + 0xe" (identifier "puVar9") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = param_1[8];" (assignment_expression "iVar6 = param_1[8]" (identifier "iVar6") (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18;" (assignment_expression "puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (subscript_expression "puVar9[0xd]" (identifier "puVar9") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                    uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18;" (assignment_expression "puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18" (subscript_expression "puVar9[0xc]" (identifier "puVar9") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                    uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" (identifier "puVar9") (= "=") (identifier "puVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar7)" (( "(") (binary_expression "*(int **)(iVar6 + 4) != piVar7" (pointer_expression "*(int **)(iVar6 + 4)" (* "*") (cast_expression "(int **)(iVar6 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar7")) () ")")) (; ";")) (expression_statement "uVar11 = (int)puVar10 - (int)puVar8;" (assignment_expression "uVar11 = (int)puVar10 - (int)puVar8" (identifier "uVar11") (= "=") (binary_expression "(int)puVar10 - (int)puVar8" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (- "-") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")))) (; ";")) (expression_statement "iVar6 = (int)uVar11 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar11 >> 0x1f" (identifier "iVar6") (= "=") (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if ((int)uVar11 < 0 || uVar11 != uVar4) {\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }" (if "if") (parenthesized_expression "((int)uVar11 < 0 || uVar11 != uVar4)" (( "(") (binary_expression "(int)uVar11 < 0 || uVar11 != uVar4" (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (number_literal "0")) (|| "||") (binary_expression "uVar11 != uVar4" (identifier "uVar11") (!= "!=") (identifier "uVar4"))) () ")")) (compound_statement "{\nLAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);\n    }" ({ "{") (labeled_statement "LAB_00106f78:\n                    \n      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);" (statement_identifier "LAB_00106f78") (: ":") (expression_statement "FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);" (call_expression "FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6)" (identifier "FUN_00069d00") (argument_list "("../../gold/output.cc",0x1ab,"do_sized_write",iVar6)" (( "(") (string_literal ""../../gold/output.cc"" (" """) (string_content "../../gold/output.cc") (" """)) (, ",") (number_literal "0x1ab") (, ",") (string_literal ""do_sized_write"" (" """) (string_content "do_sized_write") (" """)) (, ",") (identifier "iVar6") () ")"))) (; ";"))) (} "}"))) (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" (identifier "piVar5") (= "=") (identifier "piVar7")) (; ";")) (if_statement "if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 7) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 7) & 4) == 0" (parenthesized_expression "(*(byte *)(param_1 + 7) & 4)" (( "(") (binary_expression "*(byte *)(param_1 + 7) & 4" (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00106f95;" (goto "goto") (statement_identifier "LAB_00106f95") (; ";"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __thiscall
var_1::Output_segment_headers::do_sized_write<64,_true>(Output_segment_headers *this,Output_file *of)

{
  byte var_5;
  type_1 var_17;
  int var_11;
  type_2 *var_15;
  type_3 *this_00;
  type_4 *pSVar5;
  type_5 var_14;
  int var_13;
  uint64_t var_21;
  type_5 var_7;
  type_5 var_18;
  type_1 var_16;
  type_5 *var_22;
  type_5 *puVar13;
  type_5 var_10;
  int var_8;
  uint64_t var_20;
  
  var_16 = (this->segment_list_->
             super__Vector_base<var_1::type_3*,var_2::allocator<var_1::type_3*>var_3>var_4).
             _M_impl._M_start;
  var_17 = (this->segment_list_->
            super__Vector_base<var_1::type_3*,var_2::allocator<var_1::type_3*>var_3>var_4).
            _M_impl._M_finish;
  var_7 = ((int)var_17 - (int)var_16 >> 2) * 0x38;
  var_5 = (this->super_Output_data).field_0x1c;
  if ((var_5 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    var_6("../../gold/output.h",0xcf,"data_size");
  }
  if (var_7 != (type_5)(this->super_Output_data).data_size_ ||
      *(int *)((int)&(this->super_Output_data).data_size_ + 4) != 0) {
                    /* WARNING: Subroutine does not return */
    var_6("../../gold/output.cc",0x19e,"do_sized_write");
  }
  if ((var_5 & 4) == 0) {
LAB_00106f95:
                    /* WARNING: Subroutine does not return */
    var_6("../../gold/output.h",0xe3,"offset");
  }
  var_8 = *(int *)((int)&(this->super_Output_data).offset_ + 4);
  var_10 = (type_5)(this->super_Output_data).offset_;
  if ((var_8 < 0) ||
     (var_11 = *(int *)((int)&of->file_size_ + 4), var_8 = var_8 + (type_5)var_9(var_7,var_10),
     var_14 = (type_5)((type_5)of->file_size_ < var_7 + var_10), var_13 = var_11 - var_8,
     (var_12(var_11,var_8) != var_12(var_13,var_14)) != (int)(var_13 - var_14) < 0)) {
                    /* WARNING: Subroutine does not return */
    var_6("../../gold/output.h",0x6f,"get_output_view");
  }
  var_15 = of->base_;
  var_22 = (type_5 *)(var_15 + var_10);
  if (var_16 == var_17) {
    if (var_7 != 0) goto LAB_00106f78;
  }
  else {
    do {
      this_00 = *var_16;
      var_14 = this_00->type_;
      var_18 = *(type_5 *)((int)&this_00->offset_ + 4);
      *var_22 = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_14 = (type_5)this_00->offset_;
      var_22[2] = var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                   var_18 << 0x18;
      var_22[3] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_14 = (type_5)this_00->vaddr_;
      var_18 = *(type_5 *)((int)&this_00->vaddr_ + 4);
      var_22[5] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_22[4] = var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                   var_18 << 0x18;
      var_14 = (type_5)this_00->paddr_;
      var_18 = *(type_5 *)((int)&this_00->paddr_ + 4);
      var_22[7] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_22[6] = var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                   var_18 << 0x18;
      var_14 = (type_5)this_00->filesz_;
      var_18 = *(type_5 *)((int)&this_00->filesz_ + 4);
      var_22[9] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_22[8] = var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                   var_18 << 0x18;
      var_14 = (type_5)this_00->memsz_;
      var_18 = *(type_5 *)((int)&this_00->memsz_ + 4);
      var_22[0xb] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18
      ;
      var_14 = this_00->flags_;
      var_22[10] = var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                    var_18 << 0x18;
      var_22[1] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_20 = type_3::var_19(this_00);
      var_18 = (type_5)(var_20 >> 0x20);
      var_14 = *(type_5 *)((int)&this_00->min_p_align_ + 4);
      var_21 = this_00->min_p_align_;
      if (var_14 < var_18 || var_14 - var_18 < (type_5)((type_5)this_00->min_p_align_ < (type_5)var_20)) {
        var_21 = var_20;
      }
      var_18 = (type_5)(var_21 >> 0x20);
      var_14 = (type_5)var_21;
      puVar13 = var_22 + 0xe;
      var_16 = var_16 + 1;
      pSVar5 = this->segment_list_;
      var_22[0xd] = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18
      ;
      var_22[0xc] = var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                     var_18 << 0x18;
      var_22 = puVar13;
    } while ((pSVar5->
             super__Vector_base<var_1::type_3*,var_2::allocator<var_1::type_3*>var_3>var_4).
             _M_impl._M_finish != var_16);
    var_10 = (int)puVar13 - (int)(var_15 + var_10);
    if ((int)var_10 < 0 || var_10 != var_7) {
LAB_00106f78:
                    /* WARNING: Subroutine does not return */
      var_6("../../gold/output.cc",0x1ab,"do_sized_write");
    }
    if (((this->super_Output_data).field_0x1c & 4) == 0) goto LAB_00106f95;
  }
  return;
}


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

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

void MASKED(int *param_1,int param_2)

{
  int *piVar1;
  int iVar2;
  undefined8 uVar3;
  uint uVar4;
  int *piVar5;
  int iVar6;
  int *piVar7;
  uint *puVar8;
  uint *puVar9;
  uint *puVar10;
  uint uVar11;
  int iVar12;
  uint uVar13;
  undefined8 uVar14;
  
  piVar7 = *(int **)param_1[8];
  piVar1 = (int *)((int *)param_1[8])[1];
  uVar4 = ((int)piVar1 - (int)piVar7 >> 2) * 0x38;
  if ((*(byte *)(param_1 + 7) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0xcf,"data_size");
  }
  if (uVar4 != param_1[3] || param_1[4] != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.cc",0x19e,"do_sized_write",uVar4);
  }
  piVar5 = param_1;
  if ((*(byte *)(param_1 + 7) & 4) == 0) {
LAB_00106f95:
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0xe3,"offset",piVar5);
  }
  iVar6 = param_1[6];
  uVar11 = param_1[5];
  piVar5 = piVar7;
  if ((iVar6 < 0) ||
     (iVar12 = iVar6 + (uint)CARRY4(uVar4,uVar11),
     uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar11),
     iVar2 = *(int *)(param_2 + 0xc) - iVar12, piVar5 = (int *)(iVar2 - uVar13),
     (SBORROW4(*(int *)(param_2 + 0xc),iVar12) != SBORROW4(iVar2,uVar13)) != (int)piVar5 < 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0x6f,"get_output_view",piVar5);
  }
  puVar8 = (uint *)(*(int *)(param_2 + 0x10) + uVar11);
  puVar9 = puVar8;
  if (piVar7 == piVar1) {
    if (uVar4 != 0) goto LAB_00106f78;
  }
  else {
    do {
      iVar6 = *piVar7;
      uVar11 = *(uint *)(iVar6 + 0x194);
      uVar13 = *(uint *)(iVar6 + 0x188);
      *puVar9 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x184);
      puVar9[2] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      puVar9[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x15c);
      uVar13 = *(uint *)(iVar6 + 0x160);
      puVar9[5] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      puVar9[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x164);
      uVar13 = *(uint *)(iVar6 + 0x168);
      puVar9[7] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      puVar9[6] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x18c);
      uVar13 = *(uint *)(iVar6 + 400);
      puVar9[9] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      puVar9[8] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                  uVar13 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x16c);
      uVar13 = *(uint *)(iVar6 + 0x170);
      puVar9[0xb] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                    uVar11 << 0x18;
      uVar11 = *(uint *)(iVar6 + 0x198);
      puVar9[10] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                   uVar13 << 0x18;
      puVar9[1] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                  uVar11 << 0x18;
      uVar14 = FUN_000efe40(iVar6);
      uVar11 = (uint)((ulonglong)uVar14 >> 0x20);
      uVar3 = *(undefined8 *)(iVar6 + 0x17c);
      if (*(uint *)(iVar6 + 0x180) < uVar11 ||
          *(uint *)(iVar6 + 0x180) - uVar11 < (uint)(*(uint *)(iVar6 + 0x17c) < (uint)uVar14)) {
        uVar3 = uVar14;
      }
      uVar13 = (uint)((ulonglong)uVar3 >> 0x20);
      uVar11 = (uint)uVar3;
      puVar10 = puVar9 + 0xe;
      piVar7 = piVar7 + 1;
      iVar6 = param_1[8];
      puVar9[0xd] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                    uVar11 << 0x18;
      puVar9[0xc] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                    uVar13 << 0x18;
      puVar9 = puVar10;
    } while (*(int **)(iVar6 + 4) != piVar7);
    uVar11 = (int)puVar10 - (int)puVar8;
    iVar6 = (int)uVar11 >> 0x1f;
    if ((int)uVar11 < 0 || uVar11 != uVar4) {
LAB_00106f78:
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/output.cc",0x1ab,"do_sized_write",iVar6);
    }
    piVar5 = piVar7;
    if ((*(byte *)(param_1 + 7) & 4) == 0) goto LAB_00106f95;
  }
  return;
}

