
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void set_final_data_size(Output_section_incremental_inputs<64,_true> *
   this) */

void __thiscall
gold::Output_section_incremental_inputs<64,_true>::set_final_data_size
          (Output_section_incremental_inputs<64,_true> *this)

{
  byte bVar1;
  Incremental_inputs *pIVar2;
  pointer ppIVar3;
  Incremental_input_entry *pIVar4;
  Output_data_space *pOVar5;
  Symbol_table *pSVar6;
  Target *pTVar7;
  int iVar8;
  uint uVar9;
  int iVar10;
  int *piVar11;
  Symbol *from;
  pointer ppIVar12;
  int iVar13;
  int iVar14;
  uint local_30;
  uint local_28;
  
  pIVar2 = this->inputs_;
  ppIVar3 = (pIVar2->inputs_).
            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
            ._M_impl._M_finish;
  ppIVar12 = (pIVar2->inputs_).
             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
             ._M_impl._M_start;
  local_30 = ((int)ppIVar3 - (int)ppIVar12 >> 2) * 0x18 + 0x10;
  if (ppIVar3 != ppIVar12) {
    local_28 = 0;
    do {
      pIVar4 = *ppIVar12;
      pIVar4->file_index_ = local_28;
      pIVar4->offset_ = local_28 * 0x18 + 0x10;
      iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);
      switch(iVar8) {
      default:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");
      case 1:
      case 2:
        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);
        if (iVar8 == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");
        }
        (*ppIVar12)->info_offset_ = local_30;
        iVar10 = *(int *)(iVar8 + 0x30);
        iVar13 = *(int *)(iVar8 + 0x2c);
        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));
        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +
                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +
                   (piVar11[1] - *piVar11 >> 2) * 0x14;
        break;
      case 3:
        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);
        if (iVar8 == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");
        }
        iVar10 = *(int *)(iVar8 + 0x34);
        iVar13 = *(int *)(iVar8 + 0x30);
        (*ppIVar12)->info_offset_ = local_30;
        local_30 = (iVar10 - iVar13) +
                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));
        break;
      case 4:
        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);
        if (iVar8 == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");
        }
        piVar11 = *(int **)(iVar8 + 0x28);
        (*ppIVar12)->info_offset_ = local_30;
        local_30 = local_30 + 8;
        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);
        if (piVar11 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");
        }
        iVar8 = *piVar11;
        iVar10 = piVar11[1] - iVar8 >> 2;
        if (iVar10 != 0) {
          iVar13 = 0;
          iVar14 = 0;
          while( true ) {
            from = *(Symbol **)(iVar8 + iVar13 * 4);
            if (from != (Symbol *)0x0) {
              if ((from->field_0x2a & 0x10) != 0) {
                from = Symbol_table::resolve_forwards(this->symtab_,from);
              }
              if (from->symtab_index_ == 0) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");
              }
              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);
            }
            iVar13 = iVar13 + 1;
            if (iVar13 == iVar10) break;
            iVar8 = *piVar11;
          }
          local_30 = local_30 + iVar14 * 4;
        }
        break;
      case 5:
        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);
        if (iVar8 == 0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");
        }
        (*ppIVar12)->info_offset_ = local_30;
        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));
      }
      uVar9 = local_30 + 4;
      if ((local_30 & 4) == 0) {
        uVar9 = local_30;
      }
      ppIVar12 = ppIVar12 + 1;
      local_30 = uVar9;
      local_28 = local_28 + 1;
    } while ((pIVar2->inputs_).
             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
             ._M_impl._M_finish != ppIVar12);
  }
  bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c;
  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");
  }
  *(uint *)&(this->super_Output_section_data).super_Output_data.data_size_ = local_30;
  (this->super_Output_section_data).super_Output_data.field_0x1c = bVar1 | 2;
  pOVar5 = pIVar2->symtab_section_;
  pSVar6 = this->symtab_;
  *(undefined4 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) = 0;
  if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
       field_0x1c & 2) == 0) {
    *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
              data_size_ = pSVar6->output_count_ << 2;
    *(undefined4 *)
     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            data_size_ + 4) = 0;
    pOVar5 = pIVar2->relocs_section_;
    if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
         field_0x1c & 2) == 0) {
      *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;
      *(undefined4 *)
       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
              data_size_ + 4) = 0;
      pTVar7 = parameters->target_;
      if (pTVar7 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");
      }
      iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);
      iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);
      pOVar5 = pIVar2->got_plt_section_;
      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
           field_0x1c & 2) == 0) {
        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.data_size_ =
             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;
        *(undefined4 *)
         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.data_size_ + 4) = 0;
        return;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_0007b870(int param_1)

{
  byte bVar1;
  int *piVar2;
  undefined4 uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  int iVar10;
  uint local_30;
  int local_28;
  
  piVar2 = *(int **)(param_1 + 0x2c);
  piVar9 = (int *)*piVar2;
  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;
  if ((int *)piVar2[1] != piVar9) {
    local_28 = 0;
    do {
      piVar8 = (int *)*piVar9;
      piVar8[2] = local_28;
      piVar8[3] = local_28 * 0x18 + 0x10;
      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);
      switch(uVar3) {
      default:
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");
      case 1:
      case 2:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");
        }
        *(uint *)(*piVar9 + 0x10) = local_30;
        iVar6 = *(int *)(iVar4 + 0x30);
        iVar7 = *(int *)(iVar4 + 0x2c);
        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));
        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +
                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +
                   (piVar8[1] - *piVar8 >> 2) * 0x14;
        break;
      case 3:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");
        }
        iVar6 = *(int *)(iVar4 + 0x34);
        iVar7 = *(int *)(iVar4 + 0x30);
        *(uint *)(*piVar9 + 0x10) = local_30;
        local_30 = (iVar6 - iVar7) +
                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));
        break;
      case 4:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");
        }
        piVar8 = *(int **)(iVar4 + 0x28);
        *(uint *)(*piVar9 + 0x10) = local_30;
        local_30 = local_30 + 8;
        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);
        if (piVar8 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");
        }
        iVar4 = *piVar8;
        iVar6 = piVar8[1] - iVar4 >> 2;
        if (iVar6 != 0) {
          iVar7 = 0;
          iVar10 = 0;
          while( true ) {
            iVar4 = *(int *)(iVar4 + iVar7 * 4);
            if (iVar4 != 0) {
              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {
                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);
              }
              if (*(int *)(iVar4 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");
              }
              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);
            }
            iVar7 = iVar7 + 1;
            if (iVar7 == iVar6) break;
            iVar4 = *piVar8;
          }
          local_30 = local_30 + iVar10 * 4;
        }
        break;
      case 5:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");
        }
        *(uint *)(*piVar9 + 0x10) = local_30;
        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));
      }
      uVar5 = local_30 + 4;
      if ((local_30 & 4) == 0) {
        uVar5 = local_30;
      }
      piVar9 = piVar9 + 1;
      local_30 = uVar5;
      local_28 = local_28 + 1;
    } while ((int *)piVar2[1] != piVar9);
  }
  bVar1 = *(byte *)(param_1 + 0x1c);
  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);
  }
  *(uint *)(param_1 + 0xc) = local_30;
  *(byte *)(param_1 + 0x1c) = bVar1 | 2;
  iVar4 = piVar2[0xe];
  *(undefined4 *)(param_1 + 0x10) = 0;
  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {
    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;
    *(undefined4 *)(iVar4 + 0x10) = 0;
    iVar4 = piVar2[0xf];
    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {
      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;
      *(undefined4 *)(iVar4 + 0x10) = 0;
      piVar9 = *(int **)(DAT_0038f378 + 0xc);
      if (piVar9 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);
      }
      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);
      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);
      iVar4 = piVar2[0x10];
      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {
        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;
        *(undefined4 *)(iVar4 + 0x10) = 0;
        return;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x313787
SUB ESP,0x2c
MOV EAX,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [EAX + 0x2c]
MOV EDX,dword ptr [EAX + 0x4]
MOV EBP,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,EDX
SUB EAX,EBP
SAR EAX,0x2
LEA EAX,[EAX + EAX*0x2]
LEA EAX,[EAX*0x8 + 0x10]
MOV dword ptr [ESP + 0xc],EAX
CMP EDX,EBP
JZ 0x0007b953
MOV dword ptr [ESP + 0x14],0x0
LEA ESI,[ESI]
NOP
MOV ECX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EBP]
SUB ESP,0xc
MOV dword ptr [EAX + 0x8],ECX
LEA EDX,[ECX + ECX*0x2]
ADD ECX,0x1
MOV dword ptr [ESP + 0x20],ECX
LEA EDX,[EDX*0x8 + 0x10]
MOV dword ptr [EAX + 0xc],EDX
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x8]
ADD ESP,0x10
CMP EAX,0x5
JA 0x0007bbbf
MOV ESI,dword ptr [EBX + EAX*0x4 + 0xffef918c]
ADD ESI,EBX
JMP ESI
MOV EDI,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [ESP + 0xc]
XOR EDX,EDX
MOVZX ECX,byte ptr [EDI + 0x1c]
TEST CL,0x2
JNZ 0x0007bc10
TEST CL,0x8
JNZ 0x0007bc10
MOV EDI,dword ptr [ESP + 0x40]
OR ECX,0x2
MOV dword ptr [EDI + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV byte ptr [EDI + 0x1c],CL
MOV ECX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EDI + 0x30]
MOV dword ptr [EDI + 0x10],EDX
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x10]
SHL EAX,0x2
TEST byte ptr [ECX + 0x1c],0x2
JNZ 0x0007bbf5
MOV dword ptr [ECX + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ECX + 0x10],EDX
XOR EDX,EDX
MOV ECX,dword ptr [EAX + 0x3c]
MOV EAX,dword ptr [EAX + 0x44]
LEA EAX,[EAX + EAX*0x2]
SHL EAX,0x3
TEST byte ptr [ECX + 0x1c],0x2
JNZ 0x0007bbf5
MOV dword ptr [ECX + 0xc],EAX
LEA EAX,[EBX + 0x378]
MOV dword ptr [ECX + 0x10],EDX
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,ESI
JZ 0x0007bc7a
MOV EAX,dword ptr [ESI]
SUB ESP,0xc
PUSH ESI
CALL dword ptr [EAX + 0xcc]
MOV EDI,EAX
MOV EAX,dword ptr [ESI]
MOV dword ptr [ESP],ESI
CALL dword ptr [EAX + 0xd0]
MOV ECX,dword ptr [ESP + 0x28]
LEA EDX,[EDI + 0xb]
ADD ESP,0x10
AND EDX,0xfffffffc
LEA EAX,[EAX + EDI*0x2]
MOV ECX,dword ptr [ECX + 0x40]
LEA EAX,[EDX + EAX*0x4]
XOR EDX,EDX
TEST byte ptr [ECX + 0x1c],0x2
JNZ 0x0007bbf5
MOV dword ptr [ECX + 0xc],EAX
MOV dword ptr [ECX + 0x10],EDX
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xffefa640]
PUSH EAX
LEA EAX,[EBX + 0xffef8ec0]
PUSH 0x553
PUSH EAX
CALL 0x00069d00
SUB ESP,0x4
LEA EAX,[EBX + 0xffefa940]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x231
PUSH EAX
CALL 0x00069d00
LEA EAX,[EBX + 0xffefa970]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x218
PUSH EAX
CALL 0x00069d00
PUSH EAX
LEA EAX,[EBX + 0xffefa630]
PUSH EAX
LEA EAX,[EBX + 0xffef8210]
PUSH 0x73
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0007b870(int param_1)\n\n{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}\n\n" comment (function_definition "void FUN_0007b870(int param_1)\n\n{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" primitive_type (function_declarator "FUN_0007b870(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "piVar2 = *(int **)(param_1 + 0x2c);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x2c)" identifier = (pointer_expression "*(int **)(param_1 + 0x2c)" * (cast_expression "(int **)(param_1 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)*piVar2;" (assignment_expression "piVar9 = (int *)*piVar2" identifier = (cast_expression "(int *)*piVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;" (assignment_expression "local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10" identifier = (binary_expression "(piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10" (binary_expression "(piVar2[1] - (int)piVar9 >> 2) * 0x18" (parenthesized_expression "(piVar2[1] - (int)piVar9 >> 2)" ( (binary_expression "piVar2[1] - (int)piVar9 >> 2" (binary_expression "piVar2[1] - (int)piVar9" (subscript_expression "piVar2[1]" identifier [ number_literal ]) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) + number_literal)) ;) (if_statement "if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }" if (parenthesized_expression "((int *)piVar2[1] != piVar9)" ( (binary_expression "(int *)piVar2[1] != piVar9" (cast_expression "(int *)piVar2[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (do_statement "do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);" do (compound_statement "{\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    }" { (expression_statement "piVar8 = (int *)*piVar9;" (assignment_expression "piVar8 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "piVar8[2] = local_28;" (assignment_expression "piVar8[2] = local_28" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[3] = local_28 * 0x18 + 0x10;" (assignment_expression "piVar8[3] = local_28 * 0x18 + 0x10" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = (binary_expression "local_28 * 0x18 + 0x10" (binary_expression "local_28 * 0x18" identifier * number_literal) + number_literal)) ;) (expression_statement "uVar3 = (**(code **)(*piVar8 + 8))(piVar8);" (assignment_expression "uVar3 = (**(code **)(*piVar8 + 8))(piVar8)" identifier = (call_expression "(**(code **)(*piVar8 + 8))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 8))" ( (pointer_expression "**(code **)(*piVar8 + 8)" * (pointer_expression "*(code **)(*piVar8 + 8)" * (cast_expression "(code **)(*piVar8 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 8)" ( (binary_expression "*piVar8 + 8" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier )))) ;) (switch_statement "switch(uVar3) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }" switch (parenthesized_expression "(uVar3)" ( identifier )) (compound_statement "{\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }" { (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");" default : comment (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x553,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x10))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0x10)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0x10)" * (cast_expression "(code **)(*(int *)*piVar9 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0x10)" ( (binary_expression "*(int *)*piVar9 + 0x10" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" { comment (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x51c,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = *(int *)(iVar4 + 0x30);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x30)" identifier = (pointer_expression "*(int *)(iVar4 + 0x30)" * (cast_expression "(int *)(iVar4 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x2c);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));" (assignment_expression "piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" identifier = (cast_expression "(int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" (parenthesized_expression "(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))" ( (pointer_expression "**(code **)(**(int **)(iVar4 + 0x24) + 0x74)" * (pointer_expression "*(code **)(**(int **)(iVar4 + 0x24) + 0x74)" * (cast_expression "(code **)(**(int **)(iVar4 + 0x24) + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar4 + 0x24) + 0x74)" ( (binary_expression "**(int **)(iVar4 + 0x24) + 0x74" (pointer_expression "**(int **)(iVar4 + 0x24)" * (pointer_expression "*(int **)(iVar4 + 0x24)" * (cast_expression "(int **)(iVar4 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar4 + 0x24))" ( (pointer_expression "*(int **)(iVar4 + 0x24)" * (cast_expression "(int **)(iVar4 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) ))))) ;) (expression_statement "local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;" (assignment_expression "local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14" identifier = (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38))" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18" (parenthesized_expression "(iVar6 - iVar7 >> 4)" ( (binary_expression "iVar6 - iVar7 >> 4" (binary_expression "iVar6 - iVar7" identifier - identifier) >> number_literal) )) * number_literal) + identifier) + number_literal) + (parenthesized_expression "(*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38))" ( (binary_expression "*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)" (pointer_expression "*(int *)(iVar4 + 0x3c)" * (cast_expression "(int *)(iVar4 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3c)" ( (binary_expression "iVar4 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ))) + (binary_expression "(piVar8[1] - *piVar8 >> 2) * 0x14" (parenthesized_expression "(piVar8[1] - *piVar8 >> 2)" ( (binary_expression "piVar8[1] - *piVar8 >> 2" (binary_expression "piVar8[1] - *piVar8" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - (pointer_expression "*piVar8" * identifier)) >> number_literal) )) * number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x18))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0x18)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0x18)" * (cast_expression "(code **)(*(int *)*piVar9 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0x18)" ( (binary_expression "*(int *)*piVar9 + 0x18" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" { comment (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x548,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "iVar6 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x30);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x30)" identifier = (pointer_expression "*(int *)(iVar4 + 0x30)" * (cast_expression "(int *)(iVar4 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (assignment_expression "local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" identifier = (binary_expression "(iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (binary_expression "(iVar6 - iVar7) +\n                   local_30 + 8" (binary_expression "(iVar6 - iVar7) +\n                   local_30" (parenthesized_expression "(iVar6 - iVar7)" ( (binary_expression "iVar6 - iVar7" identifier - identifier) )) + identifier) + number_literal) + (parenthesized_expression "(*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" ( (binary_expression "*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24)" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) )))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x14))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0x14)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0x14)" * (cast_expression "(code **)(*(int *)*piVar9 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0x14)" ( (binary_expression "*(int *)*piVar9 + 0x14" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" { comment (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x52f,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "piVar8 = *(int **)(iVar4 + 0x28);" (assignment_expression "piVar8 = *(int **)(iVar4 + 0x28)" identifier = (pointer_expression "*(int **)(iVar4 + 0x28)" * (cast_expression "(int **)(iVar4 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = local_30 + 8;" (assignment_expression "local_30 = local_30 + 8" identifier = (binary_expression "local_30 + 8" identifier + number_literal)) ;) (expression_statement "piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);" (assignment_expression "piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8)" identifier = (cast_expression "(int *)(**(code **)(*piVar8 + 0x74))(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar8 + 0x74))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0x74))" ( (pointer_expression "**(code **)(*piVar8 + 0x74)" * (pointer_expression "*(code **)(*piVar8 + 0x74)" * (cast_expression "(code **)(*piVar8 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x74)" ( (binary_expression "*piVar8 + 0x74" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" { comment (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x535,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar6 = piVar8[1] - iVar4 >> 2;" (assignment_expression "iVar6 = piVar8[1] - iVar4 >> 2" identifier = (binary_expression "piVar8[1] - iVar4 >> 2" (binary_expression "piVar8[1] - iVar4" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - identifier) >> number_literal)) ;) (if_statement "if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }" { (expression_statement "iVar4 = *(int *)(iVar4 + iVar7 * 4);" (assignment_expression "iVar4 = *(int *)(iVar4 + iVar7 * 4)" identifier = (pointer_expression "*(int *)(iVar4 + iVar7 * 4)" * (cast_expression "(int *)(iVar4 + iVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7 * 4)" ( (binary_expression "iVar4 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }" { (if_statement "if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x2a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)(iVar4 + 0x2a) & 0x10" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }" { (expression_statement "iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);" (assignment_expression "iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4)" identifier = (call_expression "FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),iVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , identifier )))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }" if (parenthesized_expression "(*(int *)(iVar4 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x10) == 0" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }" { comment (expression_statement "FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;) })) (expression_statement "iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);" (assignment_expression "iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1)" identifier = (binary_expression "iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1)" identifier + (call_expression "(uint)(*(int *)(iVar4 + 0x10) != -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar4 + 0x10) != -1)" ( (binary_expression "*(int *)(iVar4 + 0x10) != -1" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) != number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == iVar6) break;" if (parenthesized_expression "(iVar7 == iVar6)" ( (binary_expression "iVar7 == iVar6" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) })) (expression_statement "local_30 = local_30 + iVar10 * 4;" (assignment_expression "local_30 = local_30 + iVar10 * 4" identifier = (binary_expression "local_30 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal))) ;) })) (break_statement "break;" break ;)) (case_statement "case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0xc))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0xc)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0xc)" * (cast_expression "(code **)(*(int *)*piVar9 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0xc)" ( (binary_expression "*(int *)*piVar9 + 0xc" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" { comment (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x510,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (assignment_expression "local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" identifier = (binary_expression "local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (binary_expression "local_30 + 4" identifier + number_literal) + (parenthesized_expression "(*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" ( (binary_expression "*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24)" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) )))) ;)) })) (expression_statement "uVar5 = local_30 + 4;" (assignment_expression "uVar5 = local_30 + 4" identifier = (binary_expression "local_30 + 4" identifier + number_literal)) ;) (if_statement "if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }" if (parenthesized_expression "((local_30 & 4) == 0)" ( (binary_expression "(local_30 & 4) == 0" (parenthesized_expression "(local_30 & 4)" ( (binary_expression "local_30 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar5 = local_30;\n      }" { (expression_statement "uVar5 = local_30;" (assignment_expression "uVar5 = local_30" identifier = identifier) ;) })) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = uVar5;" (assignment_expression "local_30 = uVar5" identifier = identifier) ;) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int *)piVar2[1] != piVar9)" ( (binary_expression "(int *)piVar2[1] != piVar9" (cast_expression "(int *)piVar2[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ])) != identifier) )) ;) })) (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }" if (parenthesized_expression "(((bVar1 & 2) != 0) || ((bVar1 & 8) != 0))" ( (binary_expression "((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)" (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }" { comment (expression_statement "FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);" (call_expression "FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0)" identifier (argument_list "("../../gold/output.h",0x218,"set_data_size",0)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_data_size"" " string_content ") , number_literal ))) ;) })) (expression_statement "*(uint *)(param_1 + 0xc) = local_30;" (assignment_expression "*(uint *)(param_1 + 0xc) = local_30" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)(param_1 + 0x1c) = bVar1 | 2;" (assignment_expression "*(byte *)(param_1 + 0x1c) = bVar1 | 2" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) = (binary_expression "bVar1 | 2" identifier | number_literal)) ;) (expression_statement "iVar4 = piVar2[0xe];" (assignment_expression "iVar4 = piVar2[0xe]" identifier = (subscript_expression "piVar2[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }" { (expression_statement "*(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;" (assignment_expression "*(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2" (pointer_expression "*(int *)(*(int *)(param_1 + 0x30) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x30) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x30) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x30) + 0x10" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) + number_literal) )))) << number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" * (cast_expression "(undefined4 *)(iVar4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = piVar2[0xf];" (assignment_expression "iVar4 = piVar2[0xf]" identifier = (subscript_expression "piVar2[0xf]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }" { (expression_statement "*(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;" (assignment_expression "*(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = (binary_expression "piVar2[0x11] * 0x18" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) * number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" * (cast_expression "(undefined4 *)(iVar4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9 = *(int **)(DAT_0038f378 + 0xc);" (assignment_expression "piVar9 = *(int **)(DAT_0038f378 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_0038f378 + 0xc)" * (cast_expression "(int **)(DAT_0038f378 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0038f378 + 0xc)" ( (binary_expression "DAT_0038f378 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }" { comment (expression_statement "FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);" (call_expression "FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378)" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);" (assignment_expression "iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0xcc))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0xcc))" ( (pointer_expression "**(code **)(*piVar9 + 0xcc)" * (pointer_expression "*(code **)(*piVar9 + 0xcc)" * (cast_expression "(code **)(*piVar9 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0xcc)" ( (binary_expression "*piVar9 + 0xcc" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (expression_statement "iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);" (assignment_expression "iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0xd0))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0xd0))" ( (pointer_expression "**(code **)(*piVar9 + 0xd0)" * (pointer_expression "*(code **)(*piVar9 + 0xd0)" * (cast_expression "(code **)(*piVar9 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0xd0)" ( (binary_expression "*piVar9 + 0xd0" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (expression_statement "iVar4 = piVar2[0x10];" (assignment_expression "iVar4 = piVar2[0x10]" identifier = (subscript_expression "piVar2[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }" { (expression_statement "*(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;" (assignment_expression "*(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4" (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4" (parenthesized_expression "(iVar6 + 0xbU & 0xfffffffc)" ( (binary_expression "iVar6 + 0xbU & 0xfffffffc" (binary_expression "iVar6 + 0xbU" identifier + number_literal) & number_literal) )) + (binary_expression "(iVar7 + iVar6 * 2) * 4" (parenthesized_expression "(iVar7 + iVar6 * 2)" ( (binary_expression "iVar7 + iVar6 * 2" identifier + (binary_expression "iVar6 * 2" identifier * number_literal)) )) * number_literal))) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" * (cast_expression "(undefined4 *)(iVar4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) })) })) comment (expression_statement "FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void set_final_data_size(Output_section_incremental_inputs<64,_true> *\n   this) */\n\nvoid __thiscall\ngold::Output_section_incremental_inputs<64,_true>::set_final_data_size\n          (Output_section_incremental_inputs<64,_true> *this)\n\n{\n  byte bVar1;\n  Incremental_inputs *pIVar2;\n  pointer ppIVar3;\n  Incremental_input_entry *pIVar4;\n  Output_data_space *pOVar5;\n  Symbol_table *pSVar6;\n  Target *pTVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  int *piVar11;\n  Symbol *from;\n  pointer ppIVar12;\n  int iVar13;\n  int iVar14;\n  uint local_30;\n  uint local_28;\n  \n  pIVar2 = this->inputs_;\n  ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl._M_finish;\n  ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;\n  local_30 = ((int)ppIVar3 - (int)ppIVar12 >> 2) * 0x18 + 0x10;\n  if (ppIVar3 != ppIVar12) {\n    local_28 = 0;\n    do {\n      pIVar4 = *ppIVar12;\n      pIVar4->file_index_ = local_28;\n      pIVar4->offset_ = local_28 * 0x18 + 0x10;\n      iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);\n      switch(iVar8) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }\n      uVar9 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar9 = local_30;\n      }\n      ppIVar12 = ppIVar12 + 1;\n      local_30 = uVar9;\n      local_28 = local_28 + 1;\n    } while ((pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish != ppIVar12);\n  }\n  bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c;\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");\n  }\n  *(uint *)&(this->super_Output_section_data).super_Output_data.data_size_ = local_30;\n  (this->super_Output_section_data).super_Output_data.field_0x1c = bVar1 | 2;\n  pOVar5 = pIVar2->symtab_section_;\n  pSVar6 = this->symtab_;\n  *(undefined4 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) = 0;\n  if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c & 2) == 0) {\n    *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ = pSVar6->output_count_ << 2;\n    *(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4) = 0;\n    pOVar5 = pIVar2->relocs_section_;\n    if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2) == 0) {\n      *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;\n      *(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0;\n      pTVar7 = parameters->target_;\n      if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }\n      iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);\n      iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);\n      pOVar5 = pIVar2->got_plt_section_;\n      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0) {\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Output_section_incremental_inputs<64,_true>::set_final_data_size\n          (Output_section_incremental_inputs<64,_true> *this)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::set_final_data_size\n          (Output_section_incremental_inputs<64,_true> *this)\n\n{\n  byte" identifier > : : (function_declarator "set_final_data_size\n          (Output_section_incremental_inputs<64,_true> *this)" identifier (parameter_list "(Output_section_incremental_inputs<64,_true> *this)" ( (parameter_declaration "Output_section_incremental_inputs" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) ))) { identifier) identifier ;) (declaration "Incremental_inputs *pIVar2;" type_identifier (pointer_declarator "*pIVar2" * identifier) ;) (declaration "pointer ppIVar3;" type_identifier identifier ;) (declaration "Incremental_input_entry *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "Output_data_space *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (declaration "Symbol_table *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "Target *pTVar7;" type_identifier (pointer_declarator "*pTVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "Symbol *from;" type_identifier (pointer_declarator "*from" * identifier) ;) (declaration "pointer ppIVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "pIVar2 = this->inputs_;" (assignment_expression "pIVar2 = this->inputs_" identifier = (field_expression "this->inputs_" identifier -> field_identifier)) ;) (expression_statement "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl._M_finish;" (field_expression "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl._M_finish" (field_expression "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl" (binary_expression "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "ppIVar3 = (pIVar2->inputs_).\n            super__Vector_base<gold" identifier = (binary_expression "(pIVar2->inputs_).\n            super__Vector_base<gold" (field_expression "(pIVar2->inputs_).\n            super__Vector_base" (parenthesized_expression "(pIVar2->inputs_)" ( (field_expression "pIVar2->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;" (field_expression "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start" (field_expression "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl" (binary_expression "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "ppIVar12 = (pIVar2->inputs_).\n             super__Vector_base<gold" identifier = (binary_expression "(pIVar2->inputs_).\n             super__Vector_base<gold" (field_expression "(pIVar2->inputs_).\n             super__Vector_base" (parenthesized_expression "(pIVar2->inputs_)" ( (field_expression "pIVar2->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "local_30 = ((int)ppIVar3 - (int)ppIVar12 >> 2) * 0x18 + 0x10;" (assignment_expression "local_30 = ((int)ppIVar3 - (int)ppIVar12 >> 2) * 0x18 + 0x10" identifier = (binary_expression "((int)ppIVar3 - (int)ppIVar12 >> 2) * 0x18 + 0x10" (binary_expression "((int)ppIVar3 - (int)ppIVar12 >> 2) * 0x18" (parenthesized_expression "((int)ppIVar3 - (int)ppIVar12 >> 2)" ( (binary_expression "(int)ppIVar3 - (int)ppIVar12 >> 2" (binary_expression "(int)ppIVar3 - (int)ppIVar12" (cast_expression "(int)ppIVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppIVar12" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) + number_literal)) ;) (if_statement "if (ppIVar3 != ppIVar12) {\n    local_28 = 0;\n    do {\n      pIVar4 = *ppIVar12;\n      pIVar4->file_index_ = local_28;\n      pIVar4->offset_ = local_28 * 0x18 + 0x10;\n      iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);\n      switch(iVar8) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }\n      uVar9 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar9 = local_30;\n      }\n      ppIVar12 = ppIVar12 + 1;\n      local_30 = uVar9;\n      local_28 = local_28 + 1;\n    } while ((pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish != ppIVar12);\n  }" if (parenthesized_expression "(ppIVar3 != ppIVar12)" ( (binary_expression "ppIVar3 != ppIVar12" identifier != identifier) )) (compound_statement "{\n    local_28 = 0;\n    do {\n      pIVar4 = *ppIVar12;\n      pIVar4->file_index_ = local_28;\n      pIVar4->offset_ = local_28 * 0x18 + 0x10;\n      iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);\n      switch(iVar8) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }\n      uVar9 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar9 = local_30;\n      }\n      ppIVar12 = ppIVar12 + 1;\n      local_30 = uVar9;\n      local_28 = local_28 + 1;\n    } while ((pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish != ppIVar12);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (do_statement "do {\n      pIVar4 = *ppIVar12;\n      pIVar4->file_index_ = local_28;\n      pIVar4->offset_ = local_28 * 0x18 + 0x10;\n      iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);\n      switch(iVar8) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }\n      uVar9 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar9 = local_30;\n      }\n      ppIVar12 = ppIVar12 + 1;\n      local_30 = uVar9;\n      local_28 = local_28 + 1;\n    } while ((pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish != ppIVar12);" do (compound_statement "{\n      pIVar4 = *ppIVar12;\n      pIVar4->file_index_ = local_28;\n      pIVar4->offset_ = local_28 * 0x18 + 0x10;\n      iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);\n      switch(iVar8) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }\n      uVar9 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar9 = local_30;\n      }\n      ppIVar12 = ppIVar12 + 1;\n      local_30 = uVar9;\n      local_28 = local_28 + 1;\n    }" { (expression_statement "pIVar4 = *ppIVar12;" (assignment_expression "pIVar4 = *ppIVar12" identifier = (pointer_expression "*ppIVar12" * identifier)) ;) (expression_statement "pIVar4->file_index_ = local_28;" (assignment_expression "pIVar4->file_index_ = local_28" (field_expression "pIVar4->file_index_" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar4->offset_ = local_28 * 0x18 + 0x10;" (assignment_expression "pIVar4->offset_ = local_28 * 0x18 + 0x10" (field_expression "pIVar4->offset_" identifier -> field_identifier) = (binary_expression "local_28 * 0x18 + 0x10" (binary_expression "local_28 * 0x18" identifier * number_literal) + number_literal)) ;) (expression_statement "iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);" (assignment_expression "iVar8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4)" identifier = (call_expression "(*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4)" (parenthesized_expression "(*pIVar4->_vptr_Incremental_input_entry[2])" ( (pointer_expression "*pIVar4->_vptr_Incremental_input_entry[2]" * (subscript_expression "pIVar4->_vptr_Incremental_input_entry[2]" (field_expression "pIVar4->_vptr_Incremental_input_entry" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pIVar4)" ( identifier )))) ;) (switch_statement "switch(iVar8) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }" switch (parenthesized_expression "(iVar8)" ( identifier )) (compound_statement "{\n      default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;\n      case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;\n      case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n      }" { (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");" default : comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x553,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x553,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        iVar10 = *(int *)(iVar8 + 0x30);\n        iVar13 = *(int *)(iVar8 + 0x2c);\n        piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));\n        local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;\n        break;" case number_literal : (expression_statement "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12);" (assignment_expression "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12)" identifier = (call_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[4])(*ppIVar12)" (parenthesized_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[4])" ( (pointer_expression "*(*ppIVar12)->_vptr_Incremental_input_entry[4]" * (subscript_expression "(*ppIVar12)->_vptr_Incremental_input_entry[4]" (field_expression "(*ppIVar12)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x51c,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x51c,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "(*ppIVar12)->info_offset_ = local_30;" (assignment_expression "(*ppIVar12)->info_offset_ = local_30" (field_expression "(*ppIVar12)->info_offset_" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "iVar10 = *(int *)(iVar8 + 0x30);" (assignment_expression "iVar10 = *(int *)(iVar8 + 0x30)" identifier = (pointer_expression "*(int *)(iVar8 + 0x30)" * (cast_expression "(int *)(iVar8 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar8 + 0x2c);" (assignment_expression "iVar13 = *(int *)(iVar8 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x2c)" * (cast_expression "(int *)(iVar8 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2c)" ( (binary_expression "iVar8 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24));" (assignment_expression "piVar11 = (int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24))" identifier = (cast_expression "(int *)(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))(*(int **)(iVar8 + 0x24))" (parenthesized_expression "(**(code **)(**(int **)(iVar8 + 0x24) + 0x74))" ( (pointer_expression "**(code **)(**(int **)(iVar8 + 0x24) + 0x74)" * (pointer_expression "*(code **)(**(int **)(iVar8 + 0x24) + 0x74)" * (cast_expression "(code **)(**(int **)(iVar8 + 0x24) + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar8 + 0x24) + 0x74)" ( (binary_expression "**(int **)(iVar8 + 0x24) + 0x74" (pointer_expression "**(int **)(iVar8 + 0x24)" * (pointer_expression "*(int **)(iVar8 + 0x24)" * (cast_expression "(int **)(iVar8 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x24)" ( (binary_expression "iVar8 + 0x24" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar8 + 0x24))" ( (pointer_expression "*(int **)(iVar8 + 0x24)" * (cast_expression "(int **)(iVar8 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x24)" ( (binary_expression "iVar8 + 0x24" identifier + number_literal) )))) ))))) ;) (expression_statement "local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14;" (assignment_expression "local_30 = (iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14" identifier = (binary_expression "(iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)) +\n                   (piVar11[1] - *piVar11 >> 2) * 0x14" (binary_expression "(iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38))" (binary_expression "(iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30 + 0x20" (binary_expression "(iVar10 - iVar13 >> 4) * 0x18 +\n                   local_30" (binary_expression "(iVar10 - iVar13 >> 4) * 0x18" (parenthesized_expression "(iVar10 - iVar13 >> 4)" ( (binary_expression "iVar10 - iVar13 >> 4" (binary_expression "iVar10 - iVar13" identifier - identifier) >> number_literal) )) * number_literal) + identifier) + number_literal) + (parenthesized_expression "(*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38))" ( (binary_expression "*(int *)(iVar8 + 0x3c) - *(int *)(iVar8 + 0x38)" (pointer_expression "*(int *)(iVar8 + 0x3c)" * (cast_expression "(int *)(iVar8 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3c)" ( (binary_expression "iVar8 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar8 + 0x38)" * (cast_expression "(int *)(iVar8 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x38)" ( (binary_expression "iVar8 + 0x38" identifier + number_literal) ))))) ))) + (binary_expression "(piVar11[1] - *piVar11 >> 2) * 0x14" (parenthesized_expression "(piVar11[1] - *piVar11 >> 2)" ( (binary_expression "piVar11[1] - *piVar11 >> 2" (binary_expression "piVar11[1] - *piVar11" (subscript_expression "piVar11[1]" identifier [ number_literal ]) - (pointer_expression "*piVar11" * identifier)) >> number_literal) )) * number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar10 = *(int *)(iVar8 + 0x34);\n        iVar13 = *(int *)(iVar8 + 0x30);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));\n        break;" case number_literal : (expression_statement "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12);" (assignment_expression "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12)" identifier = (call_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[6])(*ppIVar12)" (parenthesized_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[6])" ( (pointer_expression "*(*ppIVar12)->_vptr_Incremental_input_entry[6]" * (subscript_expression "(*ppIVar12)->_vptr_Incremental_input_entry[6]" (field_expression "(*ppIVar12)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x548,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x548,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "iVar10 = *(int *)(iVar8 + 0x34);" (assignment_expression "iVar10 = *(int *)(iVar8 + 0x34)" identifier = (pointer_expression "*(int *)(iVar8 + 0x34)" * (cast_expression "(int *)(iVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x34)" ( (binary_expression "iVar8 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(iVar8 + 0x30);" (assignment_expression "iVar13 = *(int *)(iVar8 + 0x30)" identifier = (pointer_expression "*(int *)(iVar8 + 0x30)" * (cast_expression "(int *)(iVar8 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "(*ppIVar12)->info_offset_ = local_30;" (assignment_expression "(*ppIVar12)->info_offset_ = local_30" (field_expression "(*ppIVar12)->info_offset_" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));" (assignment_expression "local_30 = (iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24))" identifier = (binary_expression "(iVar10 - iVar13) +\n                   local_30 + 8 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24))" (binary_expression "(iVar10 - iVar13) +\n                   local_30 + 8" (binary_expression "(iVar10 - iVar13) +\n                   local_30" (parenthesized_expression "(iVar10 - iVar13)" ( (binary_expression "iVar10 - iVar13" identifier - identifier) )) + identifier) + number_literal) + (parenthesized_expression "(*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24))" ( (binary_expression "*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24)" (pointer_expression "*(int *)(iVar8 + 0x28)" * (cast_expression "(int *)(iVar8 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x28)" ( (binary_expression "iVar8 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar8 + 0x24)" * (cast_expression "(int *)(iVar8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x24)" ( (binary_expression "iVar8 + 0x24" identifier + number_literal) ))))) )))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar11 = *(int **)(iVar8 + 0x28);\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 8;\n        piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar8 = *piVar11;\n        iVar10 = piVar11[1] - iVar8 >> 2;\n        if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }\n        break;" case number_literal : (expression_statement "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12);" (assignment_expression "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12)" identifier = (call_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[5])(*ppIVar12)" (parenthesized_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[5])" ( (pointer_expression "*(*ppIVar12)->_vptr_Incremental_input_entry[5]" * (subscript_expression "(*ppIVar12)->_vptr_Incremental_input_entry[5]" (field_expression "(*ppIVar12)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x52f,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x52f,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "piVar11 = *(int **)(iVar8 + 0x28);" (assignment_expression "piVar11 = *(int **)(iVar8 + 0x28)" identifier = (pointer_expression "*(int **)(iVar8 + 0x28)" * (cast_expression "(int **)(iVar8 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x28)" ( (binary_expression "iVar8 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "(*ppIVar12)->info_offset_ = local_30;" (assignment_expression "(*ppIVar12)->info_offset_ = local_30" (field_expression "(*ppIVar12)->info_offset_" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "local_30 = local_30 + 8;" (assignment_expression "local_30 = local_30 + 8" identifier = (binary_expression "local_30 + 8" identifier + number_literal)) ;) (expression_statement "piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11);" (assignment_expression "piVar11 = (int *)(**(code **)(*piVar11 + 0x74))(piVar11)" identifier = (cast_expression "(int *)(**(code **)(*piVar11 + 0x74))(piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar11 + 0x74))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0x74))" ( (pointer_expression "**(code **)(*piVar11 + 0x74)" * (pointer_expression "*(code **)(*piVar11 + 0x74)" * (cast_expression "(code **)(*piVar11 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0x74)" ( (binary_expression "*piVar11 + 0x74" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier ))))) ;) (if_statement "if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x535,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x535,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "iVar8 = *piVar11;" (assignment_expression "iVar8 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "iVar10 = piVar11[1] - iVar8 >> 2;" (assignment_expression "iVar10 = piVar11[1] - iVar8 >> 2" identifier = (binary_expression "piVar11[1] - iVar8 >> 2" (binary_expression "piVar11[1] - iVar8" (subscript_expression "piVar11[1]" identifier [ number_literal ]) - identifier) >> number_literal)) ;) (if_statement "if (iVar10 != 0) {\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar13 = 0;\n          iVar14 = 0;\n          while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }\n          local_30 = local_30 + iVar14 * 4;\n        }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            from = *(Symbol **)(iVar8 + iVar13 * 4);\n            if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar10) break;\n            iVar8 = *piVar11;\n          }" { (expression_statement "from = *(Symbol **)(iVar8 + iVar13 * 4);" (assignment_expression "from = *(Symbol **)(iVar8 + iVar13 * 4)" identifier = (pointer_expression "*(Symbol **)(iVar8 + iVar13 * 4)" * (cast_expression "(Symbol **)(iVar8 + iVar13 * 4)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar13 * 4)" ( (binary_expression "iVar8 + iVar13 * 4" identifier + (binary_expression "iVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (from != (Symbol *)0x0) {\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }" if (parenthesized_expression "(from != (Symbol *)0x0)" ( (binary_expression "from != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }\n              if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);\n            }" { (if_statement "if ((from->field_0x2a & 0x10) != 0) {\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }" if (parenthesized_expression "((from->field_0x2a & 0x10) != 0)" ( (binary_expression "(from->field_0x2a & 0x10) != 0" (parenthesized_expression "(from->field_0x2a & 0x10)" ( (binary_expression "from->field_0x2a & 0x10" (field_expression "from->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                from = Symbol_table::resolve_forwards(this->symtab_,from);\n              }" { (ERROR "from = Symbol_table::" (assignment_expression "from = Symbol_table" identifier = identifier) : :) (expression_statement "resolve_forwards(this->symtab_,from);" (call_expression "resolve_forwards(this->symtab_,from)" identifier (argument_list "(this->symtab_,from)" ( (field_expression "this->symtab_" identifier -> field_identifier) , identifier ))) ;) })) (if_statement "if (from->symtab_index_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }" if (parenthesized_expression "(from->symtab_index_ == 0)" ( (binary_expression "from->symtab_index_ == 0" (field_expression "from->symtab_index_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;) })) (expression_statement "iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff);" (assignment_expression "iVar14 = iVar14 + (uint)(from->symtab_index_ != 0xffffffff)" identifier = (binary_expression "iVar14 + (uint)(from->symtab_index_ != 0xffffffff)" identifier + (call_expression "(uint)(from->symtab_index_ != 0xffffffff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(from->symtab_index_ != 0xffffffff)" ( (binary_expression "from->symtab_index_ != 0xffffffff" (field_expression "from->symtab_index_" identifier -> field_identifier) != number_literal) ))))) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (iVar13 == iVar10) break;" if (parenthesized_expression "(iVar13 == iVar10)" ( (binary_expression "iVar13 == iVar10" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = *piVar11;" (assignment_expression "iVar8 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) })) (expression_statement "local_30 = local_30 + iVar14 * 4;" (assignment_expression "local_30 = local_30 + iVar14 * 4" identifier = (binary_expression "local_30 + iVar14 * 4" identifier + (binary_expression "iVar14 * 4" identifier * number_literal))) ;) })) (break_statement "break;" break ;)) (case_statement "case 5:\n        iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);\n        if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        (*ppIVar12)->info_offset_ = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));" case number_literal : (expression_statement "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12);" (assignment_expression "iVar8 = (*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12)" identifier = (call_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[3])(*ppIVar12)" (parenthesized_expression "(*(*ppIVar12)->_vptr_Incremental_input_entry[3])" ( (pointer_expression "*(*ppIVar12)->_vptr_Incremental_input_entry[3]" * (subscript_expression "(*ppIVar12)->_vptr_Incremental_input_entry[3]" (field_expression "(*ppIVar12)->_vptr_Incremental_input_entry" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x510,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x510,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "(*ppIVar12)->info_offset_ = local_30;" (assignment_expression "(*ppIVar12)->info_offset_ = local_30" (field_expression "(*ppIVar12)->info_offset_" (parenthesized_expression "(*ppIVar12)" ( (pointer_expression "*ppIVar12" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24));" (assignment_expression "local_30 = local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24))" identifier = (binary_expression "local_30 + 4 + (*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24))" (binary_expression "local_30 + 4" identifier + number_literal) + (parenthesized_expression "(*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24))" ( (binary_expression "*(int *)(iVar8 + 0x28) - *(int *)(iVar8 + 0x24)" (pointer_expression "*(int *)(iVar8 + 0x28)" * (cast_expression "(int *)(iVar8 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x28)" ( (binary_expression "iVar8 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar8 + 0x24)" * (cast_expression "(int *)(iVar8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x24)" ( (binary_expression "iVar8 + 0x24" identifier + number_literal) ))))) )))) ;)) })) (expression_statement "uVar9 = local_30 + 4;" (assignment_expression "uVar9 = local_30 + 4" identifier = (binary_expression "local_30 + 4" identifier + number_literal)) ;) (if_statement "if ((local_30 & 4) == 0) {\n        uVar9 = local_30;\n      }" if (parenthesized_expression "((local_30 & 4) == 0)" ( (binary_expression "(local_30 & 4) == 0" (parenthesized_expression "(local_30 & 4)" ( (binary_expression "local_30 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar9 = local_30;\n      }" { (expression_statement "uVar9 = local_30;" (assignment_expression "uVar9 = local_30" identifier = identifier) ;) })) (expression_statement "ppIVar12 = ppIVar12 + 1;" (assignment_expression "ppIVar12 = ppIVar12 + 1" identifier = (binary_expression "ppIVar12 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = uVar9;" (assignment_expression "local_30 = uVar9" identifier = identifier) ;) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish != ppIVar12)" ( (binary_expression "(pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish != ppIVar12" (field_expression "(pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_finish" (field_expression "(pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl" (binary_expression "(pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "(pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "(pIVar2->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std" (binary_expression "(pIVar2->inputs_).\n             super__Vector_base<gold" (field_expression "(pIVar2->inputs_).\n             super__Vector_base" (parenthesized_expression "(pIVar2->inputs_)" ( (field_expression "pIVar2->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (expression_statement "bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c;" (assignment_expression "bVar1 = (this->super_Output_section_data).super_Output_data.field_0x1c" identifier = (field_expression "(this->super_Output_section_data).super_Output_data.field_0x1c" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");\n  }" if (parenthesized_expression "(((bVar1 & 2) != 0) || ((bVar1 & 8) != 0))" ( (binary_expression "((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)" (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x218,"set_data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0x218,"set_data_size")" identifier (argument_list "("../../gold/output.h",0x218,"set_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_data_size"" " string_content ") ))) ;) })) (expression_statement "*(uint *)&(this->super_Output_section_data).super_Output_data.data_size_ = local_30;" (assignment_expression "*(uint *)&(this->super_Output_section_data).super_Output_data.data_size_ = local_30" (pointer_expression "*(uint *)&(this->super_Output_section_data).super_Output_data.data_size_" * (cast_expression "(uint *)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) = identifier) ;) (expression_statement "(this->super_Output_section_data).super_Output_data.field_0x1c = bVar1 | 2;" (assignment_expression "(this->super_Output_section_data).super_Output_data.field_0x1c = bVar1 | 2" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x1c" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "bVar1 | 2" identifier | number_literal)) ;) (expression_statement "pOVar5 = pIVar2->symtab_section_;" (assignment_expression "pOVar5 = pIVar2->symtab_section_" identifier = (field_expression "pIVar2->symtab_section_" identifier -> field_identifier)) ;) (expression_statement "pSVar6 = this->symtab_;" (assignment_expression "pSVar6 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4" (cast_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (if_statement "if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c & 2) == 0) {\n    *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ = pSVar6->output_count_ << 2;\n    *(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4) = 0;\n    pOVar5 = pIVar2->relocs_section_;\n    if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2) == 0) {\n      *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;\n      *(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0;\n      pTVar7 = parameters->target_;\n      if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }\n      iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);\n      iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);\n      pOVar5 = pIVar2->got_plt_section_;\n      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0) {\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c & 2) == 0)" ( (binary_expression "((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c & 2) == 0" (parenthesized_expression "((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c & 2)" ( (binary_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c & 2" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n       field_0x1c" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ = pSVar6->output_count_ << 2;\n    *(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4) = 0;\n    pOVar5 = pIVar2->relocs_section_;\n    if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2) == 0) {\n      *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;\n      *(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0;\n      pTVar7 = parameters->target_;\n      if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }\n      iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);\n      iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);\n      pOVar5 = pIVar2->got_plt_section_;\n      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0) {\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }\n    }\n  }" { (expression_statement "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ = pSVar6->output_count_ << 2;" (assignment_expression "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ = pSVar6->output_count_ << 2" (pointer_expression "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" * (cast_expression "(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = (binary_expression "pSVar6->output_count_ << 2" (field_expression "pSVar6->output_count_" identifier -> field_identifier) << number_literal)) ;) (expression_statement "*(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4)" * (cast_expression "(undefined4 *)\n     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4)" ( (binary_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ + 4" (cast_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pOVar5 = pIVar2->relocs_section_;" (assignment_expression "pOVar5 = pIVar2->relocs_section_" identifier = (field_expression "pIVar2->relocs_section_" identifier -> field_identifier)) ;) (if_statement "if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2) == 0) {\n      *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;\n      *(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0;\n      pTVar7 = parameters->target_;\n      if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }\n      iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);\n      iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);\n      pOVar5 = pIVar2->got_plt_section_;\n      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0) {\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }\n    }" if (parenthesized_expression "(((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2) == 0)" ( (binary_expression "((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2) == 0" (parenthesized_expression "((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2)" ( (binary_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c & 2" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n         field_0x1c" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;\n      *(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0;\n      pTVar7 = parameters->target_;\n      if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }\n      iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);\n      iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);\n      pOVar5 = pIVar2->got_plt_section_;\n      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0) {\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }\n    }" { (expression_statement "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;" (assignment_expression "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18" (pointer_expression "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" * (cast_expression "(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = (binary_expression "pIVar2->reloc_count_ * 0x18" (field_expression "pIVar2->reloc_count_" identifier -> field_identifier) * number_literal)) ;) (expression_statement "*(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4)" * (cast_expression "(undefined4 *)\n       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4)" ( (binary_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_ + 4" (cast_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pTVar7 = parameters->target_;" (assignment_expression "pTVar7 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar7 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }" if (parenthesized_expression "(pTVar7 == (Target *)0x0)" ( (binary_expression "pTVar7 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7);" (assignment_expression "iVar8 = (**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7)" identifier = (call_expression "(**(code **)(*(int *)pTVar7 + 0xcc))(pTVar7)" (parenthesized_expression "(**(code **)(*(int *)pTVar7 + 0xcc))" ( (pointer_expression "**(code **)(*(int *)pTVar7 + 0xcc)" * (pointer_expression "*(code **)(*(int *)pTVar7 + 0xcc)" * (cast_expression "(code **)(*(int *)pTVar7 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pTVar7 + 0xcc)" ( (binary_expression "*(int *)pTVar7 + 0xcc" (pointer_expression "*(int *)pTVar7" * (cast_expression "(int *)pTVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pTVar7)" ( identifier )))) ;) (expression_statement "iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7);" (assignment_expression "iVar10 = (**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7)" identifier = (call_expression "(**(code **)(*(int *)pTVar7 + 0xd0))(pTVar7)" (parenthesized_expression "(**(code **)(*(int *)pTVar7 + 0xd0))" ( (pointer_expression "**(code **)(*(int *)pTVar7 + 0xd0)" * (pointer_expression "*(code **)(*(int *)pTVar7 + 0xd0)" * (cast_expression "(code **)(*(int *)pTVar7 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pTVar7 + 0xd0)" ( (binary_expression "*(int *)pTVar7 + 0xd0" (pointer_expression "*(int *)pTVar7" * (cast_expression "(int *)pTVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pTVar7)" ( identifier )))) ;) (expression_statement "pOVar5 = pIVar2->got_plt_section_;" (assignment_expression "pOVar5 = pIVar2->got_plt_section_" identifier = (field_expression "pIVar2->got_plt_section_" identifier -> field_identifier)) ;) (if_statement "if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0) {\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }" if (parenthesized_expression "(((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0)" ( (binary_expression "((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2) == 0" (parenthesized_expression "((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2)" ( (binary_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c & 2" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x1c" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;\n        *(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;\n        return;\n      }" { (expression_statement "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4;" (assignment_expression "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_ =\n             (iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4" (pointer_expression "*(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_" * (cast_expression "(uint *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = (binary_expression "(iVar8 + 0xbU & 0xfffffffc) + (iVar10 + iVar8 * 2) * 4" (parenthesized_expression "(iVar8 + 0xbU & 0xfffffffc)" ( (binary_expression "iVar8 + 0xbU & 0xfffffffc" (binary_expression "iVar8 + 0xbU" identifier + number_literal) & number_literal) )) + (binary_expression "(iVar10 + iVar8 * 2) * 4" (parenthesized_expression "(iVar10 + iVar8 * 2)" ( (binary_expression "iVar10 + iVar8 * 2" identifier + (binary_expression "iVar8 * 2" identifier * number_literal)) )) * number_literal))) ;) (expression_statement "*(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4)" * (cast_expression "(undefined4 *)\n         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) })) })) comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) (ERROR "}" }))
(translation_unit "void FUN_0007b870(int param_1)\n\n{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    \n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}\n\n" (function_definition "void FUN_0007b870(int param_1)\n\n{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    \n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" primitive_type (function_declarator "FUN_0007b870(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    \n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "piVar2 = *(int **)(param_1 + 0x2c);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x2c)" identifier = (pointer_expression "*(int **)(param_1 + 0x2c)" * (cast_expression "(int **)(param_1 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)*piVar2;" (assignment_expression "piVar9 = (int *)*piVar2" identifier = (cast_expression "(int *)*piVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;" (assignment_expression "local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10" identifier = (binary_expression "(piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10" (binary_expression "(piVar2[1] - (int)piVar9 >> 2) * 0x18" (parenthesized_expression "(piVar2[1] - (int)piVar9 >> 2)" ( (binary_expression "piVar2[1] - (int)piVar9 >> 2" (binary_expression "piVar2[1] - (int)piVar9" (subscript_expression "piVar2[1]" identifier [ number_literal ]) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) + number_literal)) ;) (if_statement "if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }" if (parenthesized_expression "((int *)piVar2[1] != piVar9)" ( (binary_expression "(int *)piVar2[1] != piVar9" (cast_expression "(int *)piVar2[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (do_statement "do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);" do (compound_statement "{\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    }" { (expression_statement "piVar8 = (int *)*piVar9;" (assignment_expression "piVar8 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "piVar8[2] = local_28;" (assignment_expression "piVar8[2] = local_28" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[3] = local_28 * 0x18 + 0x10;" (assignment_expression "piVar8[3] = local_28 * 0x18 + 0x10" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = (binary_expression "local_28 * 0x18 + 0x10" (binary_expression "local_28 * 0x18" identifier * number_literal) + number_literal)) ;) (expression_statement "uVar3 = (**(code **)(*piVar8 + 8))(piVar8);" (assignment_expression "uVar3 = (**(code **)(*piVar8 + 8))(piVar8)" identifier = (call_expression "(**(code **)(*piVar8 + 8))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 8))" ( (pointer_expression "**(code **)(*piVar8 + 8)" * (pointer_expression "*(code **)(*piVar8 + 8)" * (cast_expression "(code **)(*piVar8 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 8)" ( (binary_expression "*piVar8 + 8" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier )))) ;) (switch_statement "switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }" switch (parenthesized_expression "(uVar3)" ( identifier )) (compound_statement "{\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }" { (case_statement "default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");" default : (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x553,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x10))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0x10)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0x10)" * (cast_expression "(code **)(*(int *)*piVar9 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0x10)" ( (binary_expression "*(int *)*piVar9 + 0x10" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" { (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x51c,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = *(int *)(iVar4 + 0x30);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x30)" identifier = (pointer_expression "*(int *)(iVar4 + 0x30)" * (cast_expression "(int *)(iVar4 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x2c);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));" (assignment_expression "piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" identifier = (cast_expression "(int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" (parenthesized_expression "(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))" ( (pointer_expression "**(code **)(**(int **)(iVar4 + 0x24) + 0x74)" * (pointer_expression "*(code **)(**(int **)(iVar4 + 0x24) + 0x74)" * (cast_expression "(code **)(**(int **)(iVar4 + 0x24) + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar4 + 0x24) + 0x74)" ( (binary_expression "**(int **)(iVar4 + 0x24) + 0x74" (pointer_expression "**(int **)(iVar4 + 0x24)" * (pointer_expression "*(int **)(iVar4 + 0x24)" * (cast_expression "(int **)(iVar4 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar4 + 0x24))" ( (pointer_expression "*(int **)(iVar4 + 0x24)" * (cast_expression "(int **)(iVar4 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) ))))) ;) (expression_statement "local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;" (assignment_expression "local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14" identifier = (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38))" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18" (parenthesized_expression "(iVar6 - iVar7 >> 4)" ( (binary_expression "iVar6 - iVar7 >> 4" (binary_expression "iVar6 - iVar7" identifier - identifier) >> number_literal) )) * number_literal) + identifier) + number_literal) + (parenthesized_expression "(*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38))" ( (binary_expression "*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)" (pointer_expression "*(int *)(iVar4 + 0x3c)" * (cast_expression "(int *)(iVar4 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x3c)" ( (binary_expression "iVar4 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) ))))) ))) + (binary_expression "(piVar8[1] - *piVar8 >> 2) * 0x14" (parenthesized_expression "(piVar8[1] - *piVar8 >> 2)" ( (binary_expression "piVar8[1] - *piVar8 >> 2" (binary_expression "piVar8[1] - *piVar8" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - (pointer_expression "*piVar8" * identifier)) >> number_literal) )) * number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x18))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0x18)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0x18)" * (cast_expression "(code **)(*(int *)*piVar9 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0x18)" ( (binary_expression "*(int *)*piVar9 + 0x18" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" { (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x548,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "iVar6 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x34)" identifier = (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x30);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x30)" identifier = (pointer_expression "*(int *)(iVar4 + 0x30)" * (cast_expression "(int *)(iVar4 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (assignment_expression "local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" identifier = (binary_expression "(iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (binary_expression "(iVar6 - iVar7) +\n                   local_30 + 8" (binary_expression "(iVar6 - iVar7) +\n                   local_30" (parenthesized_expression "(iVar6 - iVar7)" ( (binary_expression "iVar6 - iVar7" identifier - identifier) )) + identifier) + number_literal) + (parenthesized_expression "(*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" ( (binary_expression "*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24)" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) )))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x14))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0x14)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0x14)" * (cast_expression "(code **)(*(int *)*piVar9 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0x14)" ( (binary_expression "*(int *)*piVar9 + 0x14" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" { (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x52f,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "piVar8 = *(int **)(iVar4 + 0x28);" (assignment_expression "piVar8 = *(int **)(iVar4 + 0x28)" identifier = (pointer_expression "*(int **)(iVar4 + 0x28)" * (cast_expression "(int **)(iVar4 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = local_30 + 8;" (assignment_expression "local_30 = local_30 + 8" identifier = (binary_expression "local_30 + 8" identifier + number_literal)) ;) (expression_statement "piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);" (assignment_expression "piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8)" identifier = (cast_expression "(int *)(**(code **)(*piVar8 + 0x74))(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar8 + 0x74))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0x74))" ( (pointer_expression "**(code **)(*piVar8 + 0x74)" * (pointer_expression "*(code **)(*piVar8 + 0x74)" * (cast_expression "(code **)(*piVar8 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x74)" ( (binary_expression "*piVar8 + 0x74" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" { (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x535,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar6 = piVar8[1] - iVar4 >> 2;" (assignment_expression "iVar6 = piVar8[1] - iVar4 >> 2" identifier = (binary_expression "piVar8[1] - iVar4 >> 2" (binary_expression "piVar8[1] - iVar4" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - identifier) >> number_literal)) ;) (if_statement "if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }" { (expression_statement "iVar4 = *(int *)(iVar4 + iVar7 * 4);" (assignment_expression "iVar4 = *(int *)(iVar4 + iVar7 * 4)" identifier = (pointer_expression "*(int *)(iVar4 + iVar7 * 4)" * (cast_expression "(int *)(iVar4 + iVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7 * 4)" ( (binary_expression "iVar4 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }" { (if_statement "if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x2a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)(iVar4 + 0x2a) & 0x10" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }" { (expression_statement "iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);" (assignment_expression "iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4)" identifier = (call_expression "FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),iVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , identifier )))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }" if (parenthesized_expression "(*(int *)(iVar4 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x10) == 0" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }" { (expression_statement "FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;) })) (expression_statement "iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);" (assignment_expression "iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1)" identifier = (binary_expression "iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1)" identifier + (call_expression "(uint)(*(int *)(iVar4 + 0x10) != -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar4 + 0x10) != -1)" ( (binary_expression "*(int *)(iVar4 + 0x10) != -1" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) != number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == iVar6) break;" if (parenthesized_expression "(iVar7 == iVar6)" ( (binary_expression "iVar7 == iVar6" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) })) (expression_statement "local_30 = local_30 + iVar10 * 4;" (assignment_expression "local_30 = local_30 + iVar10 * 4" identifier = (binary_expression "local_30 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal))) ;) })) (break_statement "break;" break ;)) (case_statement "case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" case number_literal : (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9)" identifier = (call_expression "(**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0xc))" ( (pointer_expression "**(code **)(*(int *)*piVar9 + 0xc)" * (pointer_expression "*(code **)(*(int *)*piVar9 + 0xc)" * (cast_expression "(code **)(*(int *)*piVar9 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*piVar9 + 0xc)" ( (binary_expression "*(int *)*piVar9 + 0xc" (pointer_expression "*(int *)*piVar9" * (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*piVar9)" ( (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" { (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size")" identifier (argument_list "("../../gold/incremental.cc",0x510,"set_final_data_size")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""set_final_data_size"" " string_content ") ))) ;) })) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" * (cast_expression "(uint *)(*piVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + 0x10)" ( (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (assignment_expression "local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" identifier = (binary_expression "local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (binary_expression "local_30 + 4" identifier + number_literal) + (parenthesized_expression "(*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" ( (binary_expression "*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24)" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar4 + 0x24)" * (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) ))))) )))) ;)) })) (expression_statement "uVar5 = local_30 + 4;" (assignment_expression "uVar5 = local_30 + 4" identifier = (binary_expression "local_30 + 4" identifier + number_literal)) ;) (if_statement "if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }" if (parenthesized_expression "((local_30 & 4) == 0)" ( (binary_expression "(local_30 & 4) == 0" (parenthesized_expression "(local_30 & 4)" ( (binary_expression "local_30 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar5 = local_30;\n      }" { (expression_statement "uVar5 = local_30;" (assignment_expression "uVar5 = local_30" identifier = identifier) ;) })) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = uVar5;" (assignment_expression "local_30 = uVar5" identifier = identifier) ;) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int *)piVar2[1] != piVar9)" ( (binary_expression "(int *)piVar2[1] != piVar9" (cast_expression "(int *)piVar2[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ])) != identifier) )) ;) })) (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }" if (parenthesized_expression "(((bVar1 & 2) != 0) || ((bVar1 & 8) != 0))" ( (binary_expression "((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)" (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }" { (expression_statement "FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);" (call_expression "FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0)" identifier (argument_list "("../../gold/output.h",0x218,"set_data_size",0)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_data_size"" " string_content ") , number_literal ))) ;) })) (expression_statement "*(uint *)(param_1 + 0xc) = local_30;" (assignment_expression "*(uint *)(param_1 + 0xc) = local_30" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)(param_1 + 0x1c) = bVar1 | 2;" (assignment_expression "*(byte *)(param_1 + 0x1c) = bVar1 | 2" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) = (binary_expression "bVar1 | 2" identifier | number_literal)) ;) (expression_statement "iVar4 = piVar2[0xe];" (assignment_expression "iVar4 = piVar2[0xe]" identifier = (subscript_expression "piVar2[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }" { (expression_statement "*(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;" (assignment_expression "*(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2" (pointer_expression "*(int *)(*(int *)(param_1 + 0x30) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x30) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x30) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x30) + 0x10" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) + number_literal) )))) << number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" * (cast_expression "(undefined4 *)(iVar4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = piVar2[0xf];" (assignment_expression "iVar4 = piVar2[0xf]" identifier = (subscript_expression "piVar2[0xf]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }" { (expression_statement "*(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;" (assignment_expression "*(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = (binary_expression "piVar2[0x11] * 0x18" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) * number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" * (cast_expression "(undefined4 *)(iVar4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9 = *(int **)(DAT_0038f378 + 0xc);" (assignment_expression "piVar9 = *(int **)(DAT_0038f378 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_0038f378 + 0xc)" * (cast_expression "(int **)(DAT_0038f378 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0038f378 + 0xc)" ( (binary_expression "DAT_0038f378 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }" { (expression_statement "FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);" (call_expression "FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378)" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);" (assignment_expression "iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0xcc))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0xcc))" ( (pointer_expression "**(code **)(*piVar9 + 0xcc)" * (pointer_expression "*(code **)(*piVar9 + 0xcc)" * (cast_expression "(code **)(*piVar9 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0xcc)" ( (binary_expression "*piVar9 + 0xcc" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (expression_statement "iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);" (assignment_expression "iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0xd0))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0xd0))" ( (pointer_expression "**(code **)(*piVar9 + 0xd0)" * (pointer_expression "*(code **)(*piVar9 + 0xd0)" * (cast_expression "(code **)(*piVar9 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0xd0)" ( (binary_expression "*piVar9 + 0xd0" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (expression_statement "iVar4 = piVar2[0x10];" (assignment_expression "iVar4 = piVar2[0x10]" identifier = (subscript_expression "piVar2[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }" { (expression_statement "*(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;" (assignment_expression "*(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4" (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4" (parenthesized_expression "(iVar6 + 0xbU & 0xfffffffc)" ( (binary_expression "iVar6 + 0xbU & 0xfffffffc" (binary_expression "iVar6 + 0xbU" identifier + number_literal) & number_literal) )) + (binary_expression "(iVar7 + iVar6 * 2) * 4" (parenthesized_expression "(iVar7 + iVar6 * 2)" ( (binary_expression "iVar7 + iVar6 * 2" identifier + (binary_expression "iVar6 * 2" identifier * number_literal)) )) * number_literal))) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" * (cast_expression "(undefined4 *)(iVar4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) })) })) (expression_statement "FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )) * LIT) + IDENT) + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) )) * LIT))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT) + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_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) )))) != LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return ;) })) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_0007b870(int param_1)\n\n{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    \n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" (primitive_type "void") (function_declarator "FUN_0007b870(int param_1)" (identifier "FUN_0007b870") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte bVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  int iVar10;\n  uint local_30;\n  int local_28;\n  \n  piVar2 = *(int **)(param_1 + 0x2c);\n  piVar9 = (int *)*piVar2;\n  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;\n  if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }\n  bVar1 = *(byte *)(param_1 + 0x1c);\n  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }\n  *(uint *)(param_1 + 0xc) = local_30;\n  *(byte *)(param_1 + 0x1c) = bVar1 | 2;\n  iVar4 = piVar2[0xe];\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }\n                    \n  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (expression_statement "piVar2 = *(int **)(param_1 + 0x2c);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x2c)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(param_1 + 0x2c)" (* "*") (cast_expression "(int **)(param_1 + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "piVar9 = (int *)*piVar2;" (assignment_expression "piVar9 = (int *)*piVar2" (identifier "piVar9") (= "=") (cast_expression "(int *)*piVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;" (assignment_expression "local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10" (identifier "local_30") (= "=") (binary_expression "(piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10" (binary_expression "(piVar2[1] - (int)piVar9 >> 2) * 0x18" (parenthesized_expression "(piVar2[1] - (int)piVar9 >> 2)" (( "(") (binary_expression "piVar2[1] - (int)piVar9 >> 2" (binary_expression "piVar2[1] - (int)piVar9" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (- "-") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x18")) (+ "+") (number_literal "0x10"))) (; ";")) (if_statement "if ((int *)piVar2[1] != piVar9) {\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }" (if "if") (parenthesized_expression "((int *)piVar2[1] != piVar9)" (( "(") (binary_expression "(int *)piVar2[1] != piVar9" (cast_expression "(int *)piVar2[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "piVar9")) () ")")) (compound_statement "{\n    local_28 = 0;\n    do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);\n  }" ({ "{") (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    } while ((int *)piVar2[1] != piVar9);" (do "do") (compound_statement "{\n      piVar8 = (int *)*piVar9;\n      piVar8[2] = local_28;\n      piVar8[3] = local_28 * 0x18 + 0x10;\n      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);\n      switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }\n      uVar5 = local_30 + 4;\n      if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }\n      piVar9 = piVar9 + 1;\n      local_30 = uVar5;\n      local_28 = local_28 + 1;\n    }" ({ "{") (expression_statement "piVar8 = (int *)*piVar9;" (assignment_expression "piVar8 = (int *)*piVar9" (identifier "piVar8") (= "=") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (expression_statement "piVar8[2] = local_28;" (assignment_expression "piVar8[2] = local_28" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_28")) (; ";")) (expression_statement "piVar8[3] = local_28 * 0x18 + 0x10;" (assignment_expression "piVar8[3] = local_28 * 0x18 + 0x10" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "local_28 * 0x18 + 0x10" (binary_expression "local_28 * 0x18" (identifier "local_28") (* "*") (number_literal "0x18")) (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "uVar3 = (**(code **)(*piVar8 + 8))(piVar8);" (assignment_expression "uVar3 = (**(code **)(*piVar8 + 8))(piVar8)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(*piVar8 + 8))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 8))" (( "(") (pointer_expression "**(code **)(*piVar8 + 8)" (* "*") (pointer_expression "*(code **)(*piVar8 + 8)" (* "*") (cast_expression "(code **)(*piVar8 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 8)" (( "(") (binary_expression "*piVar8 + 8" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")")))) (; ";")) (switch_statement "switch(uVar3) {\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }" (switch "switch") (parenthesized_expression "(uVar3)" (( "(") (identifier "uVar3") () ")")) (compound_statement "{\n      default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");\n      case 1:\n      case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;\n      case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;\n      case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;\n      case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n      }" ({ "{") (case_statement "default:\n                    \n        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");" (default "default") (: ":") (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/incremental.cc",0x553,"set_final_data_size")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x553") (, ",") (string_literal ""set_final_data_size"" (" """) (string_content "set_final_data_size") (" """)) () ")"))) (; ";"))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        iVar6 = *(int *)(iVar4 + 0x30);\n        iVar7 = *(int *)(iVar4 + 0x2c);\n        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));\n        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;\n        break;" (case "case") (number_literal "2") (: ":") (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x10))" (( "(") (pointer_expression "**(code **)(*(int *)*piVar9 + 0x10)" (* "*") (pointer_expression "*(code **)(*(int *)*piVar9 + 0x10)" (* "*") (cast_expression "(code **)(*(int *)*piVar9 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)*piVar9 + 0x10)" (( "(") (binary_expression "*(int *)*piVar9 + 0x10" (pointer_expression "*(int *)*piVar9" (* "*") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "((int *)*piVar9)" (( "(") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/incremental.cc",0x51c,"set_final_data_size")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x51c") (, ",") (string_literal ""set_final_data_size"" (" """) (string_content "set_final_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" (* "*") (cast_expression "(uint *)(*piVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + 0x10)" (( "(") (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "iVar6 = *(int *)(iVar4 + 0x30);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x30)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar4 + 0x30)" (* "*") (cast_expression "(int *)(iVar4 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x30)" (( "(") (binary_expression "iVar4 + 0x30" (identifier "iVar4") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar4 + 0x2c);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x2c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));" (assignment_expression "piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" (identifier "piVar8") (= "=") (cast_expression "(int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24))" (parenthesized_expression "(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))" (( "(") (pointer_expression "**(code **)(**(int **)(iVar4 + 0x24) + 0x74)" (* "*") (pointer_expression "*(code **)(**(int **)(iVar4 + 0x24) + 0x74)" (* "*") (cast_expression "(code **)(**(int **)(iVar4 + 0x24) + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(iVar4 + 0x24) + 0x74)" (( "(") (binary_expression "**(int **)(iVar4 + 0x24) + 0x74" (pointer_expression "**(int **)(iVar4 + 0x24)" (* "*") (pointer_expression "*(int **)(iVar4 + 0x24)" (* "*") (cast_expression "(int **)(iVar4 + 0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")"))))) (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "(*(int **)(iVar4 + 0x24))" (( "(") (pointer_expression "*(int **)(iVar4 + 0x24)" (* "*") (cast_expression "(int **)(iVar4 + 0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")")))) () ")"))))) (; ";")) (expression_statement "local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14;" (assignment_expression "local_30 = (iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14" (identifier "local_30") (= "=") (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +\n                   (piVar8[1] - *piVar8 >> 2) * 0x14" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38))" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30 + 0x20" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18 +\n                   local_30" (binary_expression "(iVar6 - iVar7 >> 4) * 0x18" (parenthesized_expression "(iVar6 - iVar7 >> 4)" (( "(") (binary_expression "iVar6 - iVar7 >> 4" (binary_expression "iVar6 - iVar7" (identifier "iVar6") (- "-") (identifier "iVar7")) (>> ">>") (number_literal "4")) () ")")) (* "*") (number_literal "0x18")) (+ "+") (identifier "local_30")) (+ "+") (number_literal "0x20")) (+ "+") (parenthesized_expression "(*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38))" (( "(") (binary_expression "*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)" (pointer_expression "*(int *)(iVar4 + 0x3c)" (* "*") (cast_expression "(int *)(iVar4 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x3c)" (( "(") (binary_expression "iVar4 + 0x3c" (identifier "iVar4") (+ "+") (number_literal "0x3c")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")"))))) () ")"))) (+ "+") (binary_expression "(piVar8[1] - *piVar8 >> 2) * 0x14" (parenthesized_expression "(piVar8[1] - *piVar8 >> 2)" (( "(") (binary_expression "piVar8[1] - *piVar8 >> 2" (binary_expression "piVar8[1] - *piVar8" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x14")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }\n        iVar6 = *(int *)(iVar4 + 0x34);\n        iVar7 = *(int *)(iVar4 + 0x30);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));\n        break;" (case "case") (number_literal "3") (: ":") (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x18))" (( "(") (pointer_expression "**(code **)(*(int *)*piVar9 + 0x18)" (* "*") (pointer_expression "*(code **)(*(int *)*piVar9 + 0x18)" (* "*") (cast_expression "(code **)(*(int *)*piVar9 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)*piVar9 + 0x18)" (( "(") (binary_expression "*(int *)*piVar9 + 0x18" (pointer_expression "*(int *)*piVar9" (* "*") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "((int *)*piVar9)" (( "(") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/incremental.cc",0x548,"set_final_data_size")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x548") (, ",") (string_literal ""set_final_data_size"" (" """) (string_content "set_final_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)(iVar4 + 0x34);" (assignment_expression "iVar6 = *(int *)(iVar4 + 0x34)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar4 + 0x30);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x30)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 0x30)" (* "*") (cast_expression "(int *)(iVar4 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x30)" (( "(") (binary_expression "iVar4 + 0x30" (identifier "iVar4") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" (* "*") (cast_expression "(uint *)(*piVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + 0x10)" (( "(") (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (assignment_expression "local_30 = (iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (identifier "local_30") (= "=") (binary_expression "(iVar6 - iVar7) +\n                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (binary_expression "(iVar6 - iVar7) +\n                   local_30 + 8" (binary_expression "(iVar6 - iVar7) +\n                   local_30" (parenthesized_expression "(iVar6 - iVar7)" (( "(") (binary_expression "iVar6 - iVar7" (identifier "iVar6") (- "-") (identifier "iVar7")) () ")")) (+ "+") (identifier "local_30")) (+ "+") (number_literal "8")) (+ "+") (parenthesized_expression "(*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24)" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar4 + 0x24)" (* "*") (cast_expression "(int *)(iVar4 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")"))))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }\n        piVar8 = *(int **)(iVar4 + 0x28);\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 8;\n        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);\n        if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }\n        iVar4 = *piVar8;\n        iVar6 = piVar8[1] - iVar4 >> 2;\n        if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }\n        break;" (case "case") (number_literal "4") (: ":") (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0x14))" (( "(") (pointer_expression "**(code **)(*(int *)*piVar9 + 0x14)" (* "*") (pointer_expression "*(code **)(*(int *)*piVar9 + 0x14)" (* "*") (cast_expression "(code **)(*(int *)*piVar9 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)*piVar9 + 0x14)" (( "(") (binary_expression "*(int *)*piVar9 + 0x14" (pointer_expression "*(int *)*piVar9" (* "*") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "((int *)*piVar9)" (( "(") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/incremental.cc",0x52f,"set_final_data_size")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x52f") (, ",") (string_literal ""set_final_data_size"" (" """) (string_content "set_final_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar8 = *(int **)(iVar4 + 0x28);" (assignment_expression "piVar8 = *(int **)(iVar4 + 0x28)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(iVar4 + 0x28)" (* "*") (cast_expression "(int **)(iVar4 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" (* "*") (cast_expression "(uint *)(*piVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + 0x10)" (( "(") (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_30 = local_30 + 8;" (assignment_expression "local_30 = local_30 + 8" (identifier "local_30") (= "=") (binary_expression "local_30 + 8" (identifier "local_30") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);" (assignment_expression "piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8)" (identifier "piVar8") (= "=") (cast_expression "(int *)(**(code **)(*piVar8 + 0x74))(piVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*piVar8 + 0x74))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0x74))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0x74)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0x74)" (* "*") (cast_expression "(code **)(*piVar8 + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x74)" (( "(") (binary_expression "*piVar8 + 0x74" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))))) (; ";")) (if_statement "if (piVar8 == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/incremental.cc",0x535,"set_final_data_size")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x535") (, ",") (string_literal ""set_final_data_size"" (" """) (string_content "set_final_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" (identifier "iVar4") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "iVar6 = piVar8[1] - iVar4 >> 2;" (assignment_expression "iVar6 = piVar8[1] - iVar4 >> 2" (identifier "iVar6") (= "=") (binary_expression "piVar8[1] - iVar4 >> 2" (binary_expression "piVar8[1] - iVar4" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (- "-") (identifier "iVar4")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (iVar6 != 0) {\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar7 = 0;\n          iVar10 = 0;\n          while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }\n          local_30 = local_30 + iVar10 * 4;\n        }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            iVar4 = *(int *)(iVar4 + iVar7 * 4);\n            if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }\n            iVar7 = iVar7 + 1;\n            if (iVar7 == iVar6) break;\n            iVar4 = *piVar8;\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(iVar4 + iVar7 * 4);" (assignment_expression "iVar4 = *(int *)(iVar4 + iVar7 * 4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar4 + iVar7 * 4)" (* "*") (cast_expression "(int *)(iVar4 + iVar7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar7 * 4)" (( "(") (binary_expression "iVar4 + iVar7 * 4" (identifier "iVar4") (+ "+") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar4 != 0) {\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }\n              if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }\n              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);\n            }" ({ "{") (if_statement "if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x2a) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2a) & 0x10)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x2a) & 0x10" (pointer_expression "*(byte *)(iVar4 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar4 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2a)" (( "(") (binary_expression "iVar4 + 0x2a" (identifier "iVar4") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);\n              }" ({ "{") (expression_statement "iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);" (assignment_expression "iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4)" (identifier "FUN_001778f0") (argument_list "(*(undefined4 *)(param_1 + 0x30),iVar4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (, ",") (identifier "iVar4") () ")")))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x10) == 0) {\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x10) == 0" (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");\n              }" ({ "{") (expression_statement "FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0x180") (, ",") (string_literal ""symtab_index"" (" """) (string_content "symtab_index") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);" (assignment_expression "iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1)" (identifier "iVar10") (= "=") (binary_expression "iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1)" (identifier "iVar10") (+ "+") (call_expression "(uint)(*(int *)(iVar4 + 0x10) != -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar4 + 0x10) != -1)" (( "(") (binary_expression "*(int *)(iVar4 + 0x10) != -1" (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "-1")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar7 == iVar6) break;" (if "if") (parenthesized_expression "(iVar7 == iVar6)" (( "(") (binary_expression "iVar7 == iVar6" (identifier "iVar7") (== "==") (identifier "iVar6")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = *piVar8;" (assignment_expression "iVar4 = *piVar8" (identifier "iVar4") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (} "}"))) (expression_statement "local_30 = local_30 + iVar10 * 4;" (assignment_expression "local_30 = local_30 + iVar10 * 4" (identifier "local_30") (= "=") (binary_expression "local_30 + iVar10 * 4" (identifier "local_30") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);\n        if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }\n        *(uint *)(*piVar9 + 0x10) = local_30;\n        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (case "case") (number_literal "5") (: ":") (expression_statement "iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);" (assignment_expression "iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9)" (parenthesized_expression "(**(code **)(*(int *)*piVar9 + 0xc))" (( "(") (pointer_expression "**(code **)(*(int *)*piVar9 + 0xc)" (* "*") (pointer_expression "*(code **)(*(int *)*piVar9 + 0xc)" (* "*") (cast_expression "(code **)(*(int *)*piVar9 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)*piVar9 + 0xc)" (( "(") (binary_expression "*(int *)*piVar9 + 0xc" (pointer_expression "*(int *)*piVar9" (* "*") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "((int *)*piVar9)" (( "(") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");" (call_expression "FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/incremental.cc",0x510,"set_final_data_size")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x510") (, ",") (string_literal ""set_final_data_size"" (" """) (string_content "set_final_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(*piVar9 + 0x10) = local_30;" (assignment_expression "*(uint *)(*piVar9 + 0x10) = local_30" (pointer_expression "*(uint *)(*piVar9 + 0x10)" (* "*") (cast_expression "(uint *)(*piVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + 0x10)" (( "(") (binary_expression "*piVar9 + 0x10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));" (assignment_expression "local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (identifier "local_30") (= "=") (binary_expression "local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (binary_expression "local_30 + 4" (identifier "local_30") (+ "+") (number_literal "4")) (+ "+") (parenthesized_expression "(*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24))" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24)" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar4 + 0x24)" (* "*") (cast_expression "(int *)(iVar4 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x24)" (( "(") (binary_expression "iVar4 + 0x24" (identifier "iVar4") (+ "+") (number_literal "0x24")) () ")"))))) () ")")))) (; ";"))) (} "}"))) (expression_statement "uVar5 = local_30 + 4;" (assignment_expression "uVar5 = local_30 + 4" (identifier "uVar5") (= "=") (binary_expression "local_30 + 4" (identifier "local_30") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if ((local_30 & 4) == 0) {\n        uVar5 = local_30;\n      }" (if "if") (parenthesized_expression "((local_30 & 4) == 0)" (( "(") (binary_expression "(local_30 & 4) == 0" (parenthesized_expression "(local_30 & 4)" (( "(") (binary_expression "local_30 & 4" (identifier "local_30") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = local_30;\n      }" ({ "{") (expression_statement "uVar5 = local_30;" (assignment_expression "uVar5 = local_30" (identifier "uVar5") (= "=") (identifier "local_30")) (; ";")) (} "}"))) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 1" (identifier "piVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_30 = uVar5;" (assignment_expression "local_30 = uVar5" (identifier "local_30") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" (identifier "local_28") (= "=") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int *)piVar2[1] != piVar9)" (( "(") (binary_expression "(int *)piVar2[1] != piVar9" (cast_expression "(int *)piVar2[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "piVar9")) () ")")) (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }" (if "if") (parenthesized_expression "(((bVar1 & 2) != 0) || ((bVar1 & 8) != 0))" (( "(") (binary_expression "((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)" (parenthesized_expression "((bVar1 & 2) != 0)" (( "(") (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((bVar1 & 8) != 0)" (( "(") (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" (( "(") (binary_expression "bVar1 & 8" (identifier "bVar1") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);\n  }" ({ "{") (expression_statement "FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);" (call_expression "FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0)" (identifier "FUN_00069d00") (argument_list "("../../gold/output.h",0x218,"set_data_size",0)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x218") (, ",") (string_literal ""set_data_size"" (" """) (string_content "set_data_size") (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(param_1 + 0xc) = local_30;" (assignment_expression "*(uint *)(param_1 + 0xc) = local_30" (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "local_30")) (; ";")) (expression_statement "*(byte *)(param_1 + 0x1c) = bVar1 | 2;" (assignment_expression "*(byte *)(param_1 + 0x1c) = bVar1 | 2" (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "bVar1 | 2" (identifier "bVar1") (| "|") (number_literal "2"))) (; ";")) (expression_statement "iVar4 = piVar2[0xe];" (assignment_expression "iVar4 = piVar2[0xe]" (identifier "iVar4") (= "=") (subscript_expression "piVar2[0xe]" (identifier "piVar2") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar4 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;\n    *(undefined4 *)(iVar4 + 0x10) = 0;\n    iVar4 = piVar2[0xf];\n    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }\n  }" ({ "{") (expression_statement "*(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;" (assignment_expression "*(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2" (pointer_expression "*(int *)(iVar4 + 0xc)" (* "*") (cast_expression "(int *)(iVar4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "*(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2" (pointer_expression "*(int *)(*(int *)(param_1 + 0x30) + 0x10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x30) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x30) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x30) + 0x10" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (<< "<<") (number_literal "2"))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = piVar2[0xf];" (assignment_expression "iVar4 = piVar2[0xf]" (identifier "iVar4") (= "=") (subscript_expression "piVar2[0xf]" (identifier "piVar2") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar4 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;\n      *(undefined4 *)(iVar4 + 0x10) = 0;\n      piVar9 = *(int **)(DAT_0038f378 + 0xc);\n      if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }\n      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);\n      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);\n      iVar4 = piVar2[0x10];\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }\n    }" ({ "{") (expression_statement "*(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;" (assignment_expression "*(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18" (pointer_expression "*(int *)(iVar4 + 0xc)" (* "*") (cast_expression "(int *)(iVar4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "piVar2[0x11] * 0x18" (subscript_expression "piVar2[0x11]" (identifier "piVar2") ([ "[") (number_literal "0x11") (] "]")) (* "*") (number_literal "0x18"))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9 = *(int **)(DAT_0038f378 + 0xc);" (assignment_expression "piVar9 = *(int **)(DAT_0038f378 + 0xc)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(DAT_0038f378 + 0xc)" (* "*") (cast_expression "(int **)(DAT_0038f378 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0038f378 + 0xc)" (( "(") (binary_expression "DAT_0038f378 + 0xc" (identifier "DAT_0038f378") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar9 == (int *)0x0) {\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);\n      }" ({ "{") (expression_statement "FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);" (call_expression "FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378)" (identifier "FUN_00069d00") (argument_list "("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x73") (, ",") (string_literal ""sized_target"" (" """) (string_content "sized_target") (" """)) (, ",") (identifier "DAT_0038f378") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);" (assignment_expression "iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(*piVar9 + 0xcc))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0xcc))" (( "(") (pointer_expression "**(code **)(*piVar9 + 0xcc)" (* "*") (pointer_expression "*(code **)(*piVar9 + 0xcc)" (* "*") (cast_expression "(code **)(*piVar9 + 0xcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 0xcc)" (( "(") (binary_expression "*piVar9 + 0xcc" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0xcc")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (; ";")) (expression_statement "iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);" (assignment_expression "iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(*piVar9 + 0xd0))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0xd0))" (( "(") (pointer_expression "**(code **)(*piVar9 + 0xd0)" (* "*") (pointer_expression "*(code **)(*piVar9 + 0xd0)" (* "*") (cast_expression "(code **)(*piVar9 + 0xd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 0xd0)" (( "(") (binary_expression "*piVar9 + 0xd0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0xd0")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (; ";")) (expression_statement "iVar4 = piVar2[0x10];" (assignment_expression "iVar4 = piVar2[0x10]" (identifier "iVar4") (= "=") (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar4 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;\n        *(undefined4 *)(iVar4 + 0x10) = 0;\n        return;\n      }" ({ "{") (expression_statement "*(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;" (assignment_expression "*(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4" (pointer_expression "*(uint *)(iVar4 + 0xc)" (* "*") (cast_expression "(uint *)(iVar4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4" (parenthesized_expression "(iVar6 + 0xbU & 0xfffffffc)" (( "(") (binary_expression "iVar6 + 0xbU & 0xfffffffc" (binary_expression "iVar6 + 0xbU" (identifier "iVar6") (+ "+") (number_literal "0xbU")) (& "&") (number_literal "0xfffffffc")) () ")")) (+ "+") (binary_expression "(iVar7 + iVar6 * 2) * 4" (parenthesized_expression "(iVar7 + iVar6 * 2)" (( "(") (binary_expression "iVar7 + iVar6 * 2" (identifier "iVar7") (+ "+") (binary_expression "iVar6 * 2" (identifier "iVar6") (* "*") (number_literal "2"))) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child")" (identifier "FUN_00069d00") (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x231") (, ",") (string_literal ""set_current_data_size_for_child"" (" """) (string_content "set_current_data_size_for_child") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void set_final_data_size(Output_section_incremental_inputs<64,_true> *
   this) */

void __thiscall
var_1::Output_section_incremental_inputs<64,_true>::set_final_data_size
          (Output_section_incremental_inputs<64,_true> *this)

{
  byte var_16;
  type_1 *pIVar2;
  type_2 var_4;
  type_3 *pIVar4;
  type_4 *pOVar5;
  type_5 *pSVar6;
  type_6 *var_17;
  int var_8;
  type_7 uVar9;
  int var_9;
  int *var_12;
  type_8 *var_13;
  type_2 var_5;
  int var_10;
  int var_15;
  type_7 var_11;
  type_7 var_6;
  
  pIVar2 = this->inputs_;
  var_4 = (pIVar2->inputs_).
            super__Vector_base<var_1::type_3*,var_2::allocator<var_1::type_3*>var_3>
            ._M_impl._M_finish;
  var_5 = (pIVar2->inputs_).
             super__Vector_base<var_1::type_3*,var_2::allocator<var_1::type_3*>var_3>
             ._M_impl._M_start;
  var_11 = ((int)var_4 - (int)var_5 >> 2) * 0x18 + 0x10;
  if (var_4 != var_5) {
    var_6 = 0;
    do {
      pIVar4 = *var_5;
      pIVar4->file_index_ = var_6;
      pIVar4->offset_ = var_6 * 0x18 + 0x10;
      var_8 = (*pIVar4->_vptr_Incremental_input_entry[2])(pIVar4);
      switch(var_8) {
      default:
                    /* WARNING: Subroutine does not return */
        var_7("../../gold/incremental.cc",0x553,"set_final_data_size");
      case 1:
      case 2:
        var_8 = (*(*var_5)->_vptr_Incremental_input_entry[4])(*var_5);
        if (var_8 == 0) {
                    /* WARNING: Subroutine does not return */
          var_7("../../gold/incremental.cc",0x51c,"set_final_data_size");
        }
        (*var_5)->info_offset_ = var_11;
        var_9 = *(int *)(var_8 + 0x30);
        var_10 = *(int *)(var_8 + 0x2c);
        var_12 = (int *)(**(type_9 **)(**(int **)(var_8 + 0x24) + 0x74))(*(int **)(var_8 + 0x24));
        var_11 = (var_9 - var_10 >> 4) * 0x18 +
                   var_11 + 0x20 + (*(int *)(var_8 + 0x3c) - *(int *)(var_8 + 0x38)) +
                   (var_12[1] - *var_12 >> 2) * 0x14;
        break;
      case 3:
        var_8 = (*(*var_5)->_vptr_Incremental_input_entry[6])(*var_5);
        if (var_8 == 0) {
                    /* WARNING: Subroutine does not return */
          var_7("../../gold/incremental.cc",0x548,"set_final_data_size");
        }
        var_9 = *(int *)(var_8 + 0x34);
        var_10 = *(int *)(var_8 + 0x30);
        (*var_5)->info_offset_ = var_11;
        var_11 = (var_9 - var_10) +
                   var_11 + 8 + (*(int *)(var_8 + 0x28) - *(int *)(var_8 + 0x24));
        break;
      case 4:
        var_8 = (*(*var_5)->_vptr_Incremental_input_entry[5])(*var_5);
        if (var_8 == 0) {
                    /* WARNING: Subroutine does not return */
          var_7("../../gold/incremental.cc",0x52f,"set_final_data_size");
        }
        var_12 = *(int **)(var_8 + 0x28);
        (*var_5)->info_offset_ = var_11;
        var_11 = var_11 + 8;
        var_12 = (int *)(**(type_9 **)(*var_12 + 0x74))(var_12);
        if (var_12 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_7("../../gold/incremental.cc",0x535,"set_final_data_size");
        }
        var_8 = *var_12;
        var_9 = var_12[1] - var_8 >> 2;
        if (var_9 != 0) {
          var_10 = 0;
          var_15 = 0;
          while( true ) {
            var_13 = *(type_8 **)(var_8 + var_10 * 4);
            if (var_13 != (type_8 *)0x0) {
              if ((var_13->field_0x2a & 0x10) != 0) {
                var_13 = type_5::var_14(this->symtab_,var_13);
              }
              if (var_13->symtab_index_ == 0) {
                    /* WARNING: Subroutine does not return */
                var_7("../../gold/symtab.h",0x180,"symtab_index");
              }
              var_15 = var_15 + (type_7)(var_13->symtab_index_ != 0xffffffff);
            }
            var_10 = var_10 + 1;
            if (var_10 == var_9) break;
            var_8 = *var_12;
          }
          var_11 = var_11 + var_15 * 4;
        }
        break;
      case 5:
        var_8 = (*(*var_5)->_vptr_Incremental_input_entry[3])(*var_5);
        if (var_8 == 0) {
                    /* WARNING: Subroutine does not return */
          var_7("../../gold/incremental.cc",0x510,"set_final_data_size");
        }
        (*var_5)->info_offset_ = var_11;
        var_11 = var_11 + 4 + (*(int *)(var_8 + 0x28) - *(int *)(var_8 + 0x24));
      }
      uVar9 = var_11 + 4;
      if ((var_11 & 4) == 0) {
        uVar9 = var_11;
      }
      var_5 = var_5 + 1;
      var_11 = uVar9;
      var_6 = var_6 + 1;
    } while ((pIVar2->inputs_).
             super__Vector_base<var_1::type_3*,var_2::allocator<var_1::type_3*>var_3>
             ._M_impl._M_finish != var_5);
  }
  var_16 = (this->super_Output_section_data).super_Output_data.field_0x1c;
  if (((var_16 & 2) != 0) || ((var_16 & 8) != 0)) {
                    /* WARNING: Subroutine does not return */
    var_7("../../gold/output.h",0x218,"set_data_size");
  }
  *(type_7 *)&(this->super_Output_section_data).super_Output_data.data_size_ = var_11;
  (this->super_Output_section_data).super_Output_data.field_0x1c = var_16 | 2;
  pOVar5 = pIVar2->symtab_section_;
  pSVar6 = this->symtab_;
  *(type_10 *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) = 0;
  if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
       field_0x1c & 2) == 0) {
    *(type_7 *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
              data_size_ = pSVar6->output_count_ << 2;
    *(type_10 *)
     ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            data_size_ + 4) = 0;
    pOVar5 = pIVar2->relocs_section_;
    if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
         field_0x1c & 2) == 0) {
      *(type_7 *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.data_size_ = pIVar2->reloc_count_ * 0x18;
      *(type_10 *)
       ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
              data_size_ + 4) = 0;
      var_17 = parameters->target_;
      if (var_17 == (type_6 *)0x0) {
                    /* WARNING: Subroutine does not return */
        var_7("../../gold/parameters.h",0x73,"sized_target");
      }
      var_8 = (**(type_9 **)(*(int *)var_17 + 0xcc))(var_17);
      var_9 = (**(type_9 **)(*(int *)var_17 + 0xd0))(var_17);
      pOVar5 = pIVar2->got_plt_section_;
      if (((pOVar5->super_Output_section_data_build).super_Output_section_data.super_Output_data.
           field_0x1c & 2) == 0) {
        *(type_7 *)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.data_size_ =
             (var_8 + 0xbU & 0xfffffffc) + (var_9 + var_8 * 2) * 4;
        *(type_10 *)
         ((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.data_size_ + 4) = 0;
        return;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  var_7("../../gold/output.h",0x231,"set_current_data_size_for_child");
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(int param_1)

{
  byte bVar1;
  int *piVar2;
  undefined4 uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  int iVar10;
  uint local_30;
  int local_28;
  
  piVar2 = *(int **)(param_1 + 0x2c);
  piVar9 = (int *)*piVar2;
  local_30 = (piVar2[1] - (int)piVar9 >> 2) * 0x18 + 0x10;
  if ((int *)piVar2[1] != piVar9) {
    local_28 = 0;
    do {
      piVar8 = (int *)*piVar9;
      piVar8[2] = local_28;
      piVar8[3] = local_28 * 0x18 + 0x10;
      uVar3 = (**(code **)(*piVar8 + 8))(piVar8);
      switch(uVar3) {
      default:
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/incremental.cc",0x553,"set_final_data_size");
      case 1:
      case 2:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0x10))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x51c,"set_final_data_size");
        }
        *(uint *)(*piVar9 + 0x10) = local_30;
        iVar6 = *(int *)(iVar4 + 0x30);
        iVar7 = *(int *)(iVar4 + 0x2c);
        piVar8 = (int *)(**(code **)(**(int **)(iVar4 + 0x24) + 0x74))(*(int **)(iVar4 + 0x24));
        local_30 = (iVar6 - iVar7 >> 4) * 0x18 +
                   local_30 + 0x20 + (*(int *)(iVar4 + 0x3c) - *(int *)(iVar4 + 0x38)) +
                   (piVar8[1] - *piVar8 >> 2) * 0x14;
        break;
      case 3:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0x18))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x548,"set_final_data_size");
        }
        iVar6 = *(int *)(iVar4 + 0x34);
        iVar7 = *(int *)(iVar4 + 0x30);
        *(uint *)(*piVar9 + 0x10) = local_30;
        local_30 = (iVar6 - iVar7) +
                   local_30 + 8 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));
        break;
      case 4:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0x14))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x52f,"set_final_data_size");
        }
        piVar8 = *(int **)(iVar4 + 0x28);
        *(uint *)(*piVar9 + 0x10) = local_30;
        local_30 = local_30 + 8;
        piVar8 = (int *)(**(code **)(*piVar8 + 0x74))(piVar8);
        if (piVar8 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x535,"set_final_data_size");
        }
        iVar4 = *piVar8;
        iVar6 = piVar8[1] - iVar4 >> 2;
        if (iVar6 != 0) {
          iVar7 = 0;
          iVar10 = 0;
          while( true ) {
            iVar4 = *(int *)(iVar4 + iVar7 * 4);
            if (iVar4 != 0) {
              if ((*(byte *)(iVar4 + 0x2a) & 0x10) != 0) {
                iVar4 = FUN_001778f0(*(undefined4 *)(param_1 + 0x30),iVar4);
              }
              if (*(int *)(iVar4 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00069d00("../../gold/symtab.h",0x180,"symtab_index");
              }
              iVar10 = iVar10 + (uint)(*(int *)(iVar4 + 0x10) != -1);
            }
            iVar7 = iVar7 + 1;
            if (iVar7 == iVar6) break;
            iVar4 = *piVar8;
          }
          local_30 = local_30 + iVar10 * 4;
        }
        break;
      case 5:
        iVar4 = (**(code **)(*(int *)*piVar9 + 0xc))((int *)*piVar9);
        if (iVar4 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/incremental.cc",0x510,"set_final_data_size");
        }
        *(uint *)(*piVar9 + 0x10) = local_30;
        local_30 = local_30 + 4 + (*(int *)(iVar4 + 0x28) - *(int *)(iVar4 + 0x24));
      }
      uVar5 = local_30 + 4;
      if ((local_30 & 4) == 0) {
        uVar5 = local_30;
      }
      piVar9 = piVar9 + 1;
      local_30 = uVar5;
      local_28 = local_28 + 1;
    } while ((int *)piVar2[1] != piVar9);
  }
  bVar1 = *(byte *)(param_1 + 0x1c);
  if (((bVar1 & 2) != 0) || ((bVar1 & 8) != 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/output.h",0x218,"set_data_size",0);
  }
  *(uint *)(param_1 + 0xc) = local_30;
  *(byte *)(param_1 + 0x1c) = bVar1 | 2;
  iVar4 = piVar2[0xe];
  *(undefined4 *)(param_1 + 0x10) = 0;
  if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {
    *(int *)(iVar4 + 0xc) = *(int *)(*(int *)(param_1 + 0x30) + 0x10) << 2;
    *(undefined4 *)(iVar4 + 0x10) = 0;
    iVar4 = piVar2[0xf];
    if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {
      *(int *)(iVar4 + 0xc) = piVar2[0x11] * 0x18;
      *(undefined4 *)(iVar4 + 0x10) = 0;
      piVar9 = *(int **)(DAT_0038f378 + 0xc);
      if (piVar9 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/parameters.h",0x73,"sized_target",DAT_0038f378);
      }
      iVar6 = (**(code **)(*piVar9 + 0xcc))(piVar9);
      iVar7 = (**(code **)(*piVar9 + 0xd0))(piVar9);
      iVar4 = piVar2[0x10];
      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) {
        *(uint *)(iVar4 + 0xc) = (iVar6 + 0xbU & 0xfffffffc) + (iVar7 + iVar6 * 2) * 4;
        *(undefined4 *)(iVar4 + 0x10) = 0;
        return;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_00069d00("../../gold/output.h",0x231,"set_current_data_size_for_child");
}

