
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: off_t set_section_offsets(Layout * this, off_t off, Section_offset_pass
   pass) */

off_t __thiscall gold::Layout::set_section_offsets(Layout *this,off_t off,Section_offset_pass pass)

{
  byte bVar1;
  off_t len;
  Errors *this_00;
  _func_int_varargs *p_Var2;
  bool bVar3;
  int iVar4;
  _func_int_varargs **pp_Var5;
  ulong uVar6;
  uint64_t uVar7;
  undefined4 extraout_var_00;
  undefined4 extraout_var_01;
  undefined4 extraout_var_02;
  char *pcVar9;
  undefined4 extraout_var_03;
  undefined4 extraout_var_04;
  undefined4 extraout_var_05;
  undefined4 extraout_var_06;
  off_t startoff;
  char *pcVar10;
  Output_section *pOVar11;
  ulong uVar12;
  pointer ppOVar13;
  Output_section *pOVar8;
  undefined4 extraout_var;
  
  ppOVar13 = (this->unattached_section_list_).
             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
             _M_impl._M_start;
  if ((this->unattached_section_list_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish == ppOVar13) {
    return off;
  }
  uVar12 = off;
  uVar6 = off;
LAB_001a6389:
  do {
    pOVar8 = *ppOVar13;
    if ((pOVar8 != this->symtab_section_) &&
       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {
      if (pass == BEFORE_INPUT_SECTIONS_PASS) {
        if ((pOVar8->field_0xc8 & 0x20) != 0) {
          Output_section::create_postprocessing_buffer(pOVar8);
          this->any_postprocessing_sections_ = true;
          pOVar8 = *ppOVar13;
        }
        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;
      }
      else {
        if (pass == POSTPROCESSING_SECTIONS_PASS) {
          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;
          bVar3 = Parameters::incremental_update(parameters);
          if (!bVar3) goto LAB_001a62d6;
LAB_001a63d5:
          pOVar8 = *ppOVar13;
          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;
          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {
            (*pp_Var5[0xd])();
            pOVar8 = *ppOVar13;
            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;
          }
          len = (pOVar8->super_Output_data).data_size_;
          if (pp_Var5[3] == Output_section::do_addralign) {
            uVar7 = pOVar8->addralign_;
          }
          else {
            iVar4 = (*pp_Var5[3])();
            uVar7 = CONCAT44(extraout_var_00,iVar4);
          }
          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);
          if (uVar6 == 0xffffffffffffffff) {
            if ((parameters->options_ != (General_options *)0x0) &&
               ((parameters->debug_ & 0x10) != 0)) {
              Free_list::dump(&this->free_list_);
            }
            pOVar8 = *ppOVar13;
            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];
            if (p_Var2 != Output_section::do_output_section) {
              iVar4 = (*p_Var2)(pOVar8);
              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);
            }
            if (pOVar8 == (Output_section *)0x0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");
            }
            pOVar8 = *ppOVar13;
            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];
            if (p_Var2 != Output_section::do_output_section) {
              iVar4 = (*p_Var2)(pOVar8);
              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);
            }
            pcVar10 = pOVar8->name_;
            pcVar9 = (char *)gettext(
                                    "out of patch space for section %s; relink with --incremental-full"
                                    );
                    /* WARNING: Subroutine does not return */
            gold_fallback(pcVar9,pcVar10);
          }
          pOVar8 = *ppOVar13;
          bVar1 = (pOVar8->super_Output_data).field_0x20;
          if ((bVar1 & 4) != 0) {
LAB_001a66fa:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");
          }
          (pOVar8->super_Output_data).offset_ = uVar6;
          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;
          if ((bVar1 & 2) == 0) {
            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);
            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {
LAB_001a6712:
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");
            }
            pOVar8 = *ppOVar13;
            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;
          }
          if (len < (pOVar8->super_Output_data).data_size_) {
            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];
            if ((p_Var2 != Output_section::do_output_section) &&
               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");
            }
            pOVar8 = *ppOVar13;
            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];
            if (p_Var2 != Output_section::do_output_section) {
              iVar4 = (*p_Var2)(pOVar8);
              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);
            }
            pcVar10 = pOVar8->name_;
            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");
                    /* WARNING: Subroutine does not return */
            gold_fallback(pcVar9,pcVar10);
          }
          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)
             ) {
            this_00 = parameters->errors_;
            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];
            if (p_Var2 == Output_section::do_output_section) {
LAB_001a64bf:
              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];
              pOVar11 = pOVar8;
              if (p_Var2 != Output_section::do_output_section) {
                iVar4 = (*p_Var2)(pOVar8);
                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);
                pOVar11 = *ppOVar13;
              }
              pcVar10 = pOVar8->name_;
            }
            else {
              iVar4 = (*p_Var2)(pOVar8);
              pOVar11 = *ppOVar13;
              pOVar8 = pOVar11;
              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;
              pcVar10 = "(special)";
            }
            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;
            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,
                          (pOVar11->super_Output_data).data_size_,pcVar10);
            goto LAB_001a633e;
          }
        }
        else {
          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {
            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;
            if (pOVar8->type_ != 3) {
              ppOVar13 = ppOVar13 + 1;
              if ((this->unattached_section_list_).
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_finish == ppOVar13) {
                return uVar12;
              }
              goto LAB_001a6389;
            }
          }
LAB_001a62c2:
          bVar3 = Parameters::incremental_update(parameters);
          if (bVar3) goto LAB_001a63d5;
LAB_001a62d6:
          pOVar8 = *ppOVar13;
          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];
          if (p_Var2 == Output_section::do_addralign) {
            uVar7 = pOVar8->addralign_;
          }
          else {
            iVar4 = (*p_Var2)(pOVar8);
            uVar7 = CONCAT44(extraout_var,iVar4);
            pOVar8 = *ppOVar13;
          }
          if (uVar7 != 0) {
            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;
          }
          bVar1 = (pOVar8->super_Output_data).field_0x20;
          if ((bVar1 & 4) != 0) goto LAB_001a66fa;
          (pOVar8->super_Output_data).offset_ = uVar6;
          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;
          if ((bVar1 & 2) != 0) goto LAB_001a634d;
          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);
          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;
LAB_001a633e:
          pOVar8 = *ppOVar13;
          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {
LAB_001a66e2:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
          }
        }
LAB_001a634d:
        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;
        if ((long)uVar12 < (long)uVar6) {
          uVar12 = uVar6;
        }
        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {
          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);
        }
      }
    }
LAB_001a6378:
    ppOVar13 = ppOVar13 + 1;
    if ((this->unattached_section_list_).
        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
        _M_finish == ppOVar13) {
      return uVar12;
    }
  } while( true );
}



ulong FUN_001a6260(long param_1,ulong param_2,int param_3)

{
  byte bVar1;
  long lVar2;
  char cVar3;
  ulong uVar4;
  long lVar5;
  long *plVar6;
  undefined8 uVar7;
  long *plVar8;
  code *extraout_RDX;
  code *pcVar9;
  code *pcVar10;
  char *pcVar11;
  ulong uVar12;
  long *plVar13;
  
  plVar13 = *(long **)(param_1 + 0x260);
  if (*(long **)(param_1 + 0x268) == plVar13) {
    return param_2;
  }
  uVar12 = param_2;
  uVar4 = param_2;
LAB_001a6389:
  do {
    lVar5 = *plVar13;
    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&
       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {
      if (param_3 == 0) {
        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {
          FUN_001f6900();
          *(undefined1 *)(param_1 + 0x36e) = 1;
          lVar5 = *plVar13;
        }
        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;
      }
      else {
        if (param_3 == 1) {
          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))
          goto LAB_001a6378;
          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);
          if (cVar3 == '\0') goto LAB_001a62d6;
LAB_001a63d5:
          plVar6 = (long *)*plVar13;
          lVar5 = *plVar6;
          if ((*(byte *)(plVar6 + 4) & 2) == 0) {
            (**(code **)(lVar5 + 0x68))();
            plVar6 = (long *)*plVar13;
            lVar5 = *plVar6;
          }
          lVar2 = plVar6[2];
          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {
            lVar5 = plVar6[6];
          }
          else {
            lVar5 = (**(code **)(lVar5 + 0x18))();
          }
          plVar6 = (long *)(param_1 + 0x468);
          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);
          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;
          plVar6 = (long *)*plVar13;
          bVar1 = *(byte *)(plVar6 + 4);
          if ((bVar1 & 4) != 0) {
LAB_001a66fa:
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");
          }
          plVar6[3] = uVar4;
          *(byte *)(plVar6 + 4) = bVar1 | 4;
          if ((bVar1 & 2) == 0) {
            (**(code **)(*plVar6 + 0x70))(plVar6);
            if ((*(byte *)(plVar6 + 4) & 2) == 0) {
LAB_001a6712:
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");
            }
            plVar6 = (long *)*plVar13;
            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;
          }
          if (lVar2 < plVar6[2]) {
            pcVar10 = FUN_001b0fb0;
            pcVar9 = *(code **)(*plVar6 + 0x48);
            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;
            do {
              plVar8 = (long *)*plVar13;
              if (*(code **)(*plVar8 + 0x48) != pcVar10) {
                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);
              }
              lVar5 = plVar8[5];
              uVar7 = gettext("%s: section changed size; relink with --incremental-full");
              FUN_00178280(uVar7,lVar5);
LAB_001a6622:
              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&
                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {
                FUN_001a4a20(plVar6);
              }
              plVar8 = (long *)*plVar13;
              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {
                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);
              }
              if (plVar8 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");
              }
              plVar8 = (long *)*plVar13;
              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {
                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);
              }
              pcVar10 = (code *)plVar8[5];
              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");
              FUN_00178280(uVar7,pcVar10);
              pcVar9 = extraout_RDX;
LAB_001a6688:
              lVar5 = (*pcVar9)(plVar6);
            } while (lVar5 != 0);
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");
          }
          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {
            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;
            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {
LAB_001a64bf:
              plVar8 = plVar6;
              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {
                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);
                plVar8 = (long *)*plVar13;
              }
              pcVar11 = (char *)plVar6[5];
            }
            else {
              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);
              plVar8 = (long *)*plVar13;
              plVar6 = plVar8;
              if (lVar5 != 0) goto LAB_001a64bf;
              pcVar11 = "(special)";
            }
            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;
            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);
            goto LAB_001a633e;
          }
        }
        else {
          if (param_3 == 2) {
            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;
            if (*(int *)(lVar5 + 0x6c) != 3) {
              plVar13 = plVar13 + 1;
              if (*(long **)(param_1 + 0x268) == plVar13) {
                return uVar12;
              }
              goto LAB_001a6389;
            }
          }
LAB_001a62c2:
          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);
          if (cVar3 != '\0') goto LAB_001a63d5;
LAB_001a62d6:
          plVar6 = (long *)*plVar13;
          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {
            lVar5 = plVar6[6];
          }
          else {
            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);
            plVar6 = (long *)*plVar13;
          }
          if (lVar5 != 0) {
            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;
          }
          bVar1 = *(byte *)(plVar6 + 4);
          if ((bVar1 & 4) != 0) goto LAB_001a66fa;
          plVar6[3] = uVar4;
          *(byte *)(plVar6 + 4) = bVar1 | 4;
          if ((bVar1 & 2) != 0) goto LAB_001a634d;
          (**(code **)(*plVar6 + 0x70))(plVar6);
          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;
LAB_001a633e:
          plVar6 = (long *)*plVar13;
          if ((*(byte *)(plVar6 + 4) & 2) == 0) {
LAB_001a66e2:
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/output.h",0xcf,"data_size");
          }
        }
LAB_001a634d:
        uVar4 = uVar4 + plVar6[2];
        if ((long)uVar12 < (long)uVar4) {
          uVar12 = uVar4;
        }
        if (param_3 != 2) {
          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);
        }
      }
    }
LAB_001a6378:
    plVar13 = plVar13 + 1;
    if (*(long **)(param_1 + 0x268) == plVar13) {
      return uVar12;
    }
  } while( true );
}


MOV R9,qword ptr [RDI + 0x260]
CMP qword ptr [RDI + 0x268],R9
JZ 0x001a66cd
PUSH R15
LEA RAX,[RDI + 0x10]
MOV R15,R9
PUSH R14
MOV R14,RSI
PUSH R13
MOV R13,RSI
PUSH R12
PUSH RBP
MOV EBP,EDX
PUSH RBX
MOV RBX,RDI
SUB RSP,0x28
MOV qword ptr [RSP + 0x10],RSI
MOV qword ptr [RSP + 0x18],RAX
JMP 0x001a6389
TEST byte ptr [RDI + 0xc8],0x20
JNZ 0x001a6558
TEST byte ptr [RDI + 0xc8],0x10
JNZ 0x001a6378
MOV RDI,qword ptr [0x0043e6b0]
CALL 0x002379c0
TEST AL,AL
JNZ 0x001a63d5
MOV R12,qword ptr [R15]
LEA RCX,[0x1b0fc0]
MOV RAX,qword ptr [R12]
MOV RAX,qword ptr [RAX + 0x18]
CMP RAX,RCX
JNZ 0x001a6570
MOV RAX,qword ptr [R12 + 0x30]
TEST RAX,RAX
JZ 0x001a6309
LEA R10,[R14 + RAX*0x1 + -0x1]
NEG RAX
AND R10,RAX
MOV R14,R10
MOVZX EAX,byte ptr [R12 + 0x20]
TEST AL,0x4
JNZ 0x001a66fa
OR EAX,0x4
MOV qword ptr [R12 + 0x18],R14
MOV byte ptr [R12 + 0x20],AL
TEST AL,0x2
JNZ 0x001a634d
MOV RAX,qword ptr [R12]
MOV RDI,R12
CALL qword ptr [RAX + 0x70]
TEST byte ptr [R12 + 0x20],0x2
JZ 0x001a6712
MOV R12,qword ptr [R15]
TEST byte ptr [R12 + 0x20],0x2
JZ 0x001a66e2
ADD R14,qword ptr [R12 + 0x10]
CMP R13,R14
CMOVL R13,R14
CMP EBP,0x2
JZ 0x001a6378
MOV RSI,qword ptr [R12 + 0x28]
MOV RDI,qword ptr [RSP + 0x18]
XOR ECX,ECX
XOR EDX,EDX
CALL 0x0026e6a0
NOP dword ptr [RAX]
ADD R15,0x8
CMP qword ptr [RBX + 0x268],R15
JZ 0x001a6541
MOV RDI,qword ptr [R15]
CMP RDI,qword ptr [RBX + 0x2d0]
JZ 0x001a6378
MOVZX EAX,byte ptr [RDI + 0x20]
TEST AL,0x4
JZ 0x001a63a1
TEST AL,0x2
JNZ 0x001a6378
TEST EBP,EBP
JZ 0x001a62a8
CMP EBP,0x1
JNZ 0x001a6510
TEST byte ptr [RDI + 0xc8],0x10
JZ 0x001a6378
CMP dword ptr [RDI + 0x6c],0x3
JZ 0x001a6378
MOV RDI,qword ptr [0x0043e6b0]
CALL 0x002379c0
TEST AL,AL
JZ 0x001a62d6
MOV RDI,qword ptr [R15]
MOV RAX,qword ptr [RDI]
TEST byte ptr [RDI + 0x20],0x2
JNZ 0x001a63ea
CALL qword ptr [RAX + 0x68]
MOV RDI,qword ptr [R15]
MOV RAX,qword ptr [RDI]
MOV RSI,qword ptr [RDI + 0x10]
MOV RAX,qword ptr [RAX + 0x18]
LEA RCX,[0x1b0fc0]
MOV qword ptr [RSP + 0x8],RSI
CMP RAX,RCX
JNZ 0x001a6580
MOV RDX,qword ptr [RDI + 0x30]
LEA R12,[RBX + 0x468]
MOV RCX,qword ptr [RSP + 0x10]
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,R12
CALL 0x001a4800
MOV R14,RAX
CMP RAX,-0x1
JZ 0x001a6622
MOV R12,qword ptr [R15]
MOVZX EAX,byte ptr [R12 + 0x20]
TEST AL,0x4
JNZ 0x001a66fa
OR EAX,0x4
MOV qword ptr [R12 + 0x18],R14
MOV byte ptr [R12 + 0x20],AL
TEST AL,0x2
JNZ 0x001a6478
MOV RAX,qword ptr [R12]
MOV RDI,R12
CALL qword ptr [RAX + 0x70]
TEST byte ptr [R12 + 0x20],0x2
JZ 0x001a6712
MOV R12,qword ptr [R15]
TEST byte ptr [R12 + 0x20],0x2
JZ 0x001a66e2
MOV RAX,qword ptr [RSP + 0x8]
CMP RAX,qword ptr [R12 + 0x10]
JL 0x001a65d7
MOV RAX,qword ptr [0x0043e6b0]
CMP qword ptr [RAX + 0x10],0x0
JZ 0x001a634d
TEST byte ptr [RAX + 0x24],0x10
JZ 0x001a634d
MOV R9,qword ptr [RAX]
MOV RAX,qword ptr [R12]
LEA RDX,[0x1b0fb0]
MOV RAX,qword ptr [RAX + 0x48]
CMP RAX,RDX
JNZ 0x001a6590
MOV RDX,qword ptr [R12]
LEA RSI,[0x1b0fb0]
MOV RAX,R12
MOV RDX,qword ptr [RDX + 0x48]
CMP RDX,RSI
JNZ 0x001a65c0
MOV R8,qword ptr [RAX + 0x28]
TEST byte ptr [R12 + 0x20],0x2
JZ 0x001a66e2
MOV RCX,qword ptr [R12 + 0x10]
MOV RDX,R14
MOV RDI,R9
XOR EAX,EAX
LEA RSI,[0x376950]
CALL 0x00178100
JMP 0x001a633e
CMP EBP,0x2
JNZ 0x001a62c2
TEST byte ptr [RDI + 0xc8],0x10
JZ 0x001a6378
CMP dword ptr [RDI + 0x6c],0x3
JZ 0x001a62c2
ADD R15,0x8
CMP qword ptr [RBX + 0x268],R15
JNZ 0x001a6389
ADD RSP,0x28
MOV RAX,R13
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL 0x001f6900
MOV byte ptr [RBX + 0x36e],0x1
MOV RDI,qword ptr [R15]
JMP 0x001a62b5
MOV RDI,R12
CALL RAX
MOV R12,qword ptr [R15]
JMP 0x001a62f6
CALL RAX
MOV RDX,RAX
JMP 0x001a640b
MOV qword ptr [RSP + 0x8],R9
MOV RDI,R12
CALL RAX
MOV R12,qword ptr [R15]
MOV R9,qword ptr [RSP + 0x8]
TEST RAX,RAX
JNZ 0x001a64bf
LEA R8,[0x37621f]
JMP 0x001a64de
MOV qword ptr [RSP + 0x8],R9
MOV RDI,R12
CALL RDX
MOV R12,qword ptr [R15]
MOV R9,qword ptr [RSP + 0x8]
JMP 0x001a64da
MOV RDX,qword ptr [R12]
LEA RBX,[0x1b0fb0]
MOV R14,R15
MOV RDX,qword ptr [RDX + 0x48]
CMP RDX,RBX
JNZ 0x001a6688
MOV RAX,qword ptr [R14]
MOV RDX,qword ptr [RAX]
MOV RDX,qword ptr [RDX + 0x48]
CMP RDX,RBX
JNZ 0x001a66d8
MOV RBX,qword ptr [RAX + 0x28]
LEA RDI,[0x376910]
CALL 0x00147320
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x00178280
MOV RAX,qword ptr [0x0043e6b0]
MOV R14,R15
CMP qword ptr [RAX + 0x10],0x0
JZ 0x001a6641
TEST byte ptr [RAX + 0x24],0x10
JZ 0x001a6641
MOV RDI,R12
CALL 0x001a4a20
MOV RAX,qword ptr [R14]
LEA RBX,[0x1b0fb0]
MOV RDX,qword ptr [RAX]
MOV RDX,qword ptr [RDX + 0x48]
CMP RDX,RBX
JNZ 0x001a66ae
TEST RAX,RAX
JZ 0x001a66b5
MOV RAX,qword ptr [R14]
MOV RDX,qword ptr [RAX]
MOV RDX,qword ptr [RDX + 0x48]
CMP RDX,RBX
JNZ 0x001a66d1
MOV RBX,qword ptr [RAX + 0x28]
LEA RDI,[0x3768c8]
CALL 0x00147320
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x00178280
MOV RDI,R12
CALL RDX
TEST RAX,RAX
JNZ 0x001a65f2
LEA RDX,[0x377450]
MOV ESI,0x108a
LEA RDI,[0x37612f]
CALL 0x0017c650
MOV RDI,RAX
CALL RDX
JMP 0x001a6657
LEA RDX,[0x377450]
MOV ESI,0x1081
LEA RDI,[0x37612f]
CALL 0x0017c650
MOV RAX,RSI
RET
MOV RDI,RAX
CALL RDX
JMP 0x001a666b
MOV RDI,RAX
CALL RDX
JMP 0x001a6605
LEA RDX,[0x3778b8]
MOV ESI,0xcf
LEA RDI,[0x373454]
CALL 0x0017c650
LEA RDX,[0x377490]
MOV ESI,0x14b
LEA RDI,[0x373454]
CALL 0x0017c650
LEA RDX,[0x3775a0]
MOV ESI,0x163
LEA RDI,[0x373454]
CALL 0x0017c650
(translation_unit "ulong FUN_001a6260(long param_1,ulong param_2,int param_3)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}\n\n" (function_definition "ulong FUN_001a6260(long param_1,ulong param_2,int param_3)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" type_identifier (function_declarator "FUN_001a6260(long param_1,ulong param_2,int param_3)" identifier (parameter_list "(long param_1,ulong param_2,int param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "long *plVar8;" (sized_type_specifier "long" long) (pointer_declarator "*plVar8" * identifier) ;) (declaration "code *extraout_RDX;" type_identifier (pointer_declarator "*extraout_RDX" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (expression_statement "plVar13 = *(long **)(param_1 + 0x260);" (assignment_expression "plVar13 = *(long **)(param_1 + 0x260)" identifier = (pointer_expression "*(long **)(param_1 + 0x260)" * (cast_expression "(long **)(param_1 + 0x260)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x260)" ( (binary_expression "param_1 + 0x260" identifier + number_literal) ))))) ;) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }" if (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" ( (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" * (cast_expression "(long **)(param_1 + 0x268)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n    return param_2;\n  }" { (return_statement "return param_2;" return identifier ;) })) (expression_statement "uVar12 = param_2;" (assignment_expression "uVar12 = param_2" identifier = identifier) ;) (expression_statement "uVar4 = param_2;" (assignment_expression "uVar4 = param_2" identifier = identifier) ;) (labeled_statement "LAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );" do (compound_statement "{\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  }" { (expression_statement "lVar5 = *plVar13;" (assignment_expression "lVar5 = *plVar13" identifier = (pointer_expression "*plVar13" * identifier)) ;) (if_statement "if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }" if (parenthesized_expression "((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0))))" ( (binary_expression "(lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))" (parenthesized_expression "(lVar5 != *(long *)(param_1 + 0x2d0))" ( (binary_expression "lVar5 != *(long *)(param_1 + 0x2d0)" identifier != (pointer_expression "*(long *)(param_1 + 0x2d0)" * (cast_expression "(long *)(param_1 + 0x2d0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2d0)" ( (binary_expression "param_1 + 0x2d0" identifier + number_literal) ))))) )) && (parenthesized_expression "(((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))" ( (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0))" ( (binary_expression "(*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)" (binary_expression "(*(byte *)(lVar5 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 4)" ( (binary_expression "*(byte *)(lVar5 + 0x20) & 4" (pointer_expression "*(byte *)(lVar5 + 0x20)" * (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 2) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar5 + 0x20) & 2" (pointer_expression "*(byte *)(lVar5 + 0x20)" * (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }" { (if_statement "if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }" { (if_statement "if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }" if (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x20) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x20) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x20)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x20" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }" { (expression_statement "FUN_001f6900();" (call_expression "FUN_001f6900()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x36e) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x36e) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x36e)" * (cast_expression "(undefined1 *)(param_1 + 0x36e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x36e)" ( (binary_expression "param_1 + 0x36e" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar5 = *plVar13;" (assignment_expression "lVar5 = *plVar13" identifier = (pointer_expression "*plVar13" * identifier)) ;) })) (if_statement "if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;" if (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a62c2;" goto statement_identifier ;)) }) (else_clause "else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" else (compound_statement "{\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" { (if_statement "if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" if (parenthesized_expression "(param_3 == 1)" ( (binary_expression "param_3 == 1" identifier == number_literal) )) (compound_statement "{\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }" { (if_statement "if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;" if (parenthesized_expression "(((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))" ( (binary_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3)" (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(lVar5 + 0x6c) == 3)" ( (binary_expression "*(int *)(lVar5 + 0x6c) == 3" (pointer_expression "*(int *)(lVar5 + 0x6c)" * (cast_expression "(int *)(lVar5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x6c)" ( (binary_expression "lVar5 + 0x6c" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_001a6378;" goto statement_identifier ;)) (expression_statement "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (assignment_expression "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0)" identifier = (call_expression "FUN_002379c0(PTR_DAT_0043e6b0)" identifier (argument_list "(PTR_DAT_0043e6b0)" ( identifier )))) ;) (if_statement "if (cVar3 == '\0') goto LAB_001a62d6;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a62d6;" goto statement_identifier ;)) (labeled_statement "LAB_001a63d5:\n          plVar6 = (long *)*plVar13;" statement_identifier : (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;)) (expression_statement "lVar5 = *plVar6;" (assignment_expression "lVar5 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }" { (expression_statement "(**(code **)(lVar5 + 0x68))();" (call_expression "(**(code **)(lVar5 + 0x68))()" (parenthesized_expression "(**(code **)(lVar5 + 0x68))" ( (pointer_expression "**(code **)(lVar5 + 0x68)" * (pointer_expression "*(code **)(lVar5 + 0x68)" * (cast_expression "(code **)(lVar5 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x68)" ( (binary_expression "lVar5 + 0x68" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (expression_statement "lVar5 = *plVar6;" (assignment_expression "lVar5 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) })) (expression_statement "lVar2 = plVar6[2];" (assignment_expression "lVar2 = plVar6[2]" identifier = (subscript_expression "plVar6[2]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" if (parenthesized_expression "(*(code **)(lVar5 + 0x18) == FUN_001b0fc0)" ( (binary_expression "*(code **)(lVar5 + 0x18) == FUN_001b0fc0" (pointer_expression "*(code **)(lVar5 + 0x18)" * (cast_expression "(code **)(lVar5 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n            lVar5 = plVar6[6];\n          }" { (expression_statement "lVar5 = plVar6[6];" (assignment_expression "lVar5 = plVar6[6]" identifier = (subscript_expression "plVar6[6]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" else (compound_statement "{\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" { (expression_statement "lVar5 = (**(code **)(lVar5 + 0x18))();" (assignment_expression "lVar5 = (**(code **)(lVar5 + 0x18))()" identifier = (call_expression "(**(code **)(lVar5 + 0x18))()" (parenthesized_expression "(**(code **)(lVar5 + 0x18))" ( (pointer_expression "**(code **)(lVar5 + 0x18)" * (pointer_expression "*(code **)(lVar5 + 0x18)" * (cast_expression "(code **)(lVar5 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "plVar6 = (long *)(param_1 + 0x468);" (assignment_expression "plVar6 = (long *)(param_1 + 0x468)" identifier = (cast_expression "(long *)(param_1 + 0x468)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x468)" ( (binary_expression "param_1 + 0x468" identifier + number_literal) )))) ;) (expression_statement "uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);" (assignment_expression "uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2)" identifier = (call_expression "FUN_001a4800(plVar6,lVar2,lVar5,param_2)" identifier (argument_list "(plVar6,lVar2,lVar5,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;" if (parenthesized_expression "(uVar4 == 0xffffffffffffffff)" ( (binary_expression "uVar4 == 0xffffffffffffffff" identifier == number_literal) )) (goto_statement "goto LAB_001a6622;" goto statement_identifier ;)) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (expression_statement "bVar1 = *(byte *)(plVar6 + 4);" (assignment_expression "bVar1 = *(byte *)(plVar6 + 4)" identifier = (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }" { (labeled_statement "LAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;)) })) (expression_statement "plVar6[3] = uVar4;" (assignment_expression "plVar6[3] = uVar4" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(plVar6 + 4) = bVar1 | 4;" (assignment_expression "*(byte *)(plVar6 + 4) = bVar1 | 4" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "bVar1 | 4" identifier | number_literal)) ;) (if_statement "if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }" { (expression_statement "(**(code **)(*plVar6 + 0x70))(plVar6);" (call_expression "(**(code **)(*plVar6 + 0x70))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x70))" ( (pointer_expression "**(code **)(*plVar6 + 0x70)" * (pointer_expression "*(code **)(*plVar6 + 0x70)" * (cast_expression "(code **)(*plVar6 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x70)" ( (binary_expression "*plVar6 + 0x70" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }" { (labeled_statement "LAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;)) })) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a66e2;" goto statement_identifier ;)) })) (if_statement "if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }" if (parenthesized_expression "(lVar2 < plVar6[2])" ( (binary_expression "lVar2 < plVar6[2]" identifier < (subscript_expression "plVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }" { (expression_statement "pcVar10 = FUN_001b0fb0;" (assignment_expression "pcVar10 = FUN_001b0fb0" identifier = identifier) ;) (expression_statement "pcVar9 = *(code **)(*plVar6 + 0x48);" (assignment_expression "pcVar9 = *(code **)(*plVar6 + 0x48)" identifier = (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;" if (parenthesized_expression "(pcVar9 != FUN_001b0fb0)" ( (binary_expression "pcVar9 != FUN_001b0fb0" identifier != identifier) )) (goto_statement "goto LAB_001a6688;" goto statement_identifier ;)) (do_statement "do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);" do (compound_statement "{\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            }" { (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" if (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != pcVar10)" ( (binary_expression "*(code **)(*plVar8 + 0x48) != pcVar10" (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" { (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" ( (pointer_expression "**(code **)(*plVar8 + 0x48)" * (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))))) ;) })) (expression_statement "lVar5 = plVar8[5];" (assignment_expression "lVar5 = plVar8[5]" identifier = (subscript_expression "plVar8[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = gettext("%s: section changed size; relink with --incremental-full");" (assignment_expression "uVar7 = gettext("%s: section changed size; relink with --incremental-full")" identifier = (call_expression "gettext("%s: section changed size; relink with --incremental-full")" identifier (argument_list "("%s: section changed size; relink with --incremental-full")" ( (string_literal ""%s: section changed size; relink with --incremental-full"" " string_content ") )))) ;) (expression_statement "FUN_00178280(uVar7,lVar5);" (call_expression "FUN_00178280(uVar7,lVar5)" identifier (argument_list "(uVar7,lVar5)" ( identifier , identifier ))) ;) (labeled_statement "LAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }" statement_identifier : (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }" if (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                FUN_001a4a20(plVar6);\n              }" { (expression_statement "FUN_001a4a20(plVar6);" (call_expression "FUN_001a4a20(plVar6)" identifier (argument_list "(plVar6)" ( identifier ))) ;) }))) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" if (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar8 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" { (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" ( (pointer_expression "**(code **)(*plVar8 + 0x48)" * (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))))) ;) })) (if_statement "if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }" if (parenthesized_expression "(plVar8 == (long *)0x0)" ( (binary_expression "plVar8 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }" { comment (expression_statement "FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");" (call_expression "FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets")" identifier (argument_list "("../../gold/layout.cc",0x1081,"set_section_offsets")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""set_section_offsets"" " string_content ") ))) ;) })) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" if (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar8 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" { (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" ( (pointer_expression "**(code **)(*plVar8 + 0x48)" * (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))))) ;) })) (expression_statement "pcVar10 = (code *)plVar8[5];" (assignment_expression "pcVar10 = (code *)plVar8[5]" identifier = (cast_expression "(code *)plVar8[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar8[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");" (assignment_expression "uVar7 = gettext("out of patch space for section %s; relink with --incremental-full")" identifier = (call_expression "gettext("out of patch space for section %s; relink with --incremental-full")" identifier (argument_list "("out of patch space for section %s; relink with --incremental-full")" ( (string_literal ""out of patch space for section %s; relink with --incremental-full"" " string_content ") )))) ;) (expression_statement "FUN_00178280(uVar7,pcVar10);" (call_expression "FUN_00178280(uVar7,pcVar10)" identifier (argument_list "(uVar7,pcVar10)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = extraout_RDX;" (assignment_expression "pcVar9 = extraout_RDX" identifier = identifier) ;) (labeled_statement "LAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);" statement_identifier : (expression_statement "lVar5 = (*pcVar9)(plVar6);" (assignment_expression "lVar5 = (*pcVar9)(plVar6)" identifier = (call_expression "(*pcVar9)(plVar6)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(plVar6)" ( identifier )))) ;)) }) while (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) ;) comment (expression_statement "FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");" (call_expression "FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets")" identifier (argument_list "("../../gold/layout.cc",0x108a,"set_section_offsets")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""set_section_offsets"" " string_content ") ))) ;) })) (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }" if (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }" { (expression_statement "uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;" (assignment_expression "uVar7 = *(undefined8 *)PTR_DAT_0043e6b0" identifier = (pointer_expression "*(undefined8 *)PTR_DAT_0043e6b0" * (cast_expression "(undefined8 *)PTR_DAT_0043e6b0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" if (parenthesized_expression "(*(code **)(*plVar6 + 0x48) == FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar6 + 0x48) == FUN_001b0fb0" (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }" { (labeled_statement "LAB_001a64bf:\n              plVar8 = plVar6;" statement_identifier : (expression_statement "plVar8 = plVar6;" (assignment_expression "plVar8 = plVar6" identifier = identifier) ;)) (if_statement "if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }" if (parenthesized_expression "(*(code **)(*plVar6 + 0x48) != FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar6 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }" { (expression_statement "plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);" (assignment_expression "plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6)" identifier = (cast_expression "(long *)(**(code **)(*plVar6 + 0x48))(plVar6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar6 + 0x48))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x48))" ( (pointer_expression "**(code **)(*plVar6 + 0x48)" * (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))))) ;) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) })) (expression_statement "pcVar11 = (char *)plVar6[5];" (assignment_expression "pcVar11 = (char *)plVar6[5]" identifier = (cast_expression "(char *)plVar6[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[5]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" else (compound_statement "{\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" { (expression_statement "lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);" (assignment_expression "lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6)" identifier = (call_expression "(**(code **)(*plVar6 + 0x48))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x48))" ( (pointer_expression "**(code **)(*plVar6 + 0x48)" * (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier )))) ;) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (expression_statement "plVar6 = plVar8;" (assignment_expression "plVar6 = plVar8" identifier = identifier) ;) (if_statement "if (lVar5 != 0) goto LAB_001a64bf;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001a64bf;" goto statement_identifier ;)) (expression_statement "pcVar11 = "(special)";" (assignment_expression "pcVar11 = "(special)"" identifier = (string_literal ""(special)"" " string_content ")) ;) }))) (if_statement "if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;" if (parenthesized_expression "((*(byte *)(plVar8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar8 + 4) & 2)" ( (binary_expression "*(byte *)(plVar8 + 4) & 2" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a66e2;" goto statement_identifier ;)) (expression_statement "FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);" (call_expression "FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11)" identifier (argument_list "(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11)" ( identifier , (string_literal ""set_section_offsets: %08lx %08lx %s"" " string_content ") , identifier , (subscript_expression "plVar8[2]" identifier [ number_literal ]) , identifier ))) ;) (goto_statement "goto LAB_001a633e;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" else (compound_statement "{\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" { (if_statement "if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" { (if_statement "if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;" if (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a6378;" goto statement_identifier ;)) (if_statement "if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" if (parenthesized_expression "(*(int *)(lVar5 + 0x6c) != 3)" ( (binary_expression "*(int *)(lVar5 + 0x6c) != 3" (pointer_expression "*(int *)(lVar5 + 0x6c)" * (cast_expression "(int *)(lVar5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x6c)" ( (binary_expression "lVar5 + 0x6c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" { (expression_statement "plVar13 = plVar13 + 1;" (assignment_expression "plVar13 = plVar13 + 1" identifier = (binary_expression "plVar13 + 1" identifier + number_literal)) ;) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }" if (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" ( (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" * (cast_expression "(long **)(param_1 + 0x268)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n                return uVar12;\n              }" { (return_statement "return uVar12;" return identifier ;) })) (goto_statement "goto LAB_001a6389;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" statement_identifier : (expression_statement "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (assignment_expression "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0)" identifier = (call_expression "FUN_002379c0(PTR_DAT_0043e6b0)" identifier (argument_list "(PTR_DAT_0043e6b0)" ( identifier )))) ;)) (if_statement "if (cVar3 != '\0') goto LAB_001a63d5;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a63d5;" goto statement_identifier ;)) (labeled_statement "LAB_001a62d6:\n          plVar6 = (long *)*plVar13;" statement_identifier : (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;)) (if_statement "if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" if (parenthesized_expression "(*(code **)(*plVar6 + 0x18) == FUN_001b0fc0)" ( (binary_expression "*(code **)(*plVar6 + 0x18) == FUN_001b0fc0" (pointer_expression "*(code **)(*plVar6 + 0x18)" * (cast_expression "(code **)(*plVar6 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x18)" ( (binary_expression "*plVar6 + 0x18" (pointer_expression "*plVar6" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            lVar5 = plVar6[6];\n          }" { (expression_statement "lVar5 = plVar6[6];" (assignment_expression "lVar5 = plVar6[6]" identifier = (subscript_expression "plVar6[6]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" else (compound_statement "{\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" { (expression_statement "lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);" (assignment_expression "lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6)" identifier = (call_expression "(**(code **)(*plVar6 + 0x18))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x18))" ( (pointer_expression "**(code **)(*plVar6 + 0x18)" * (pointer_expression "*(code **)(*plVar6 + 0x18)" * (cast_expression "(code **)(*plVar6 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x18)" ( (binary_expression "*plVar6 + 0x18" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier )))) ;) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) }))) (if_statement "if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }" { (expression_statement "uVar4 = (uVar4 - 1) + lVar5 & -lVar5;" (assignment_expression "uVar4 = (uVar4 - 1) + lVar5 & -lVar5" identifier = (binary_expression "(uVar4 - 1) + lVar5 & -lVar5" (binary_expression "(uVar4 - 1) + lVar5" (parenthesized_expression "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) )) + identifier) & (unary_expression "-lVar5" - identifier))) ;) })) (expression_statement "bVar1 = *(byte *)(plVar6 + 4);" (assignment_expression "bVar1 = *(byte *)(plVar6 + 4)" identifier = (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) != 0) goto LAB_001a66fa;" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001a66fa;" goto statement_identifier ;)) (expression_statement "plVar6[3] = uVar4;" (assignment_expression "plVar6[3] = uVar4" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(plVar6 + 4) = bVar1 | 4;" (assignment_expression "*(byte *)(plVar6 + 4) = bVar1 | 4" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "bVar1 | 4" identifier | number_literal)) ;) (if_statement "if ((bVar1 & 2) != 0) goto LAB_001a634d;" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001a634d;" goto statement_identifier ;)) (expression_statement "(**(code **)(*plVar6 + 0x70))(plVar6);" (call_expression "(**(code **)(*plVar6 + 0x70))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x70))" ( (pointer_expression "**(code **)(*plVar6 + 0x70)" * (pointer_expression "*(code **)(*plVar6 + 0x70)" * (cast_expression "(code **)(*plVar6 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x70)" ( (binary_expression "*plVar6 + 0x70" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a6712;" goto statement_identifier ;)) (labeled_statement "LAB_001a633e:\n          plVar6 = (long *)*plVar13;" statement_identifier : (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;)) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }" { (labeled_statement "LAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) }))) (labeled_statement "LAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];" statement_identifier : (expression_statement "uVar4 = uVar4 + plVar6[2];" (assignment_expression "uVar4 = uVar4 + plVar6[2]" identifier = (binary_expression "uVar4 + plVar6[2]" identifier + (subscript_expression "plVar6[2]" identifier [ number_literal ]))) ;)) (if_statement "if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }" if (parenthesized_expression "((long)uVar12 < (long)uVar4)" ( (binary_expression "(long)uVar12 < (long)uVar4" (cast_expression "(long)uVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (cast_expression "(long)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n          uVar12 = uVar4;\n        }" { (expression_statement "uVar12 = uVar4;" (assignment_expression "uVar12 = uVar4" identifier = identifier) ;) })) (if_statement "if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }" if (parenthesized_expression "(param_3 != 2)" ( (binary_expression "param_3 != 2" identifier != number_literal) )) (compound_statement "{\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }" { (expression_statement "FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);" (call_expression "FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0)" identifier (argument_list "(param_1 + 0x10,plVar6[5],0,0)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , (subscript_expression "plVar6[5]" identifier [ number_literal ]) , number_literal , number_literal ))) ;) })) }))) })) (labeled_statement "LAB_001a6378:\n    plVar13 = plVar13 + 1;" statement_identifier : (expression_statement "plVar13 = plVar13 + 1;" (assignment_expression "plVar13 = plVar13 + 1" identifier = (binary_expression "plVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }" if (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" ( (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" * (cast_expression "(long **)(param_1 + 0x268)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      return uVar12;\n    }" { (return_statement "return uVar12;" return identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: off_t set_section_offsets(Layout * this, off_t off, Section_offset_pass\n   pass) */\n\noff_t __thiscall gold::Layout::set_section_offsets(Layout *this,off_t off,Section_offset_pass pass)\n\n{\n  byte bVar1;\n  off_t len;\n  Errors *this_00;\n  _func_int_varargs *p_Var2;\n  bool bVar3;\n  int iVar4;\n  _func_int_varargs **pp_Var5;\n  ulong uVar6;\n  uint64_t uVar7;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  char *pcVar9;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  undefined4 extraout_var_05;\n  undefined4 extraout_var_06;\n  off_t startoff;\n  char *pcVar10;\n  Output_section *pOVar11;\n  ulong uVar12;\n  pointer ppOVar13;\n  Output_section *pOVar8;\n  undefined4 extraout_var;\n  \n  ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  if ((this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish == ppOVar13) {\n    return off;\n  }\n  uVar12 = off;\n  uVar6 = off;\nLAB_001a6389:\n  do {\n    pOVar8 = *ppOVar13;\n    if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }\nLAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;\n    if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }\n  } while( true );\n}\n\n" comment comment (function_definition "off_t __thiscall gold::Layout::set_section_offsets(Layout *this,off_t off,Section_offset_pass pass)\n\n{\n  byte bVar1;\n  off_t len;\n  Errors *this_00;\n  _func_int_varargs *p_Var2;\n  bool bVar3;\n  int iVar4;\n  _func_int_varargs **pp_Var5;\n  ulong uVar6;\n  uint64_t uVar7;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  char *pcVar9;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  undefined4 extraout_var_05;\n  undefined4 extraout_var_06;\n  off_t startoff;\n  char *pcVar10;\n  Output_section *pOVar11;\n  ulong uVar12;\n  pointer ppOVar13;\n  Output_section *pOVar8;\n  undefined4 extraout_var;\n  \n  ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  if ((this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish == ppOVar13) {\n    return off;\n  }\n  uVar12 = off;\n  uVar6 = off;\nLAB_001a6389:\n  do {\n    pOVar8 = *ppOVar13;\n    if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }\nLAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;\n    if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "set_section_offsets(Layout *this,off_t off,Section_offset_pass pass)" identifier (parameter_list "(Layout *this,off_t off,Section_offset_pass pass)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "off_t off" type_identifier identifier) , (parameter_declaration "Section_offset_pass pass" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  off_t len;\n  Errors *this_00;\n  _func_int_varargs *p_Var2;\n  bool bVar3;\n  int iVar4;\n  _func_int_varargs **pp_Var5;\n  ulong uVar6;\n  uint64_t uVar7;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  char *pcVar9;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  undefined4 extraout_var_05;\n  undefined4 extraout_var_06;\n  off_t startoff;\n  char *pcVar10;\n  Output_section *pOVar11;\n  ulong uVar12;\n  pointer ppOVar13;\n  Output_section *pOVar8;\n  undefined4 extraout_var;\n  \n  ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  if ((this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish == ppOVar13) {\n    return off;\n  }\n  uVar12 = off;\n  uVar6 = off;\nLAB_001a6389:\n  do {\n    pOVar8 = *ppOVar13;\n    if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }\nLAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;\n    if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "off_t len;" type_identifier identifier ;) (declaration "Errors *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "_func_int_varargs *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "_func_int_varargs **pp_Var5;" type_identifier (pointer_declarator "**pp_Var5" * (pointer_declarator "*pp_Var5" * identifier)) ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "uint64_t uVar7;" primitive_type identifier ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "undefined4 extraout_var_01;" type_identifier identifier ;) (declaration "undefined4 extraout_var_02;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 extraout_var_03;" type_identifier identifier ;) (declaration "undefined4 extraout_var_04;" type_identifier identifier ;) (declaration "undefined4 extraout_var_05;" type_identifier identifier ;) (declaration "undefined4 extraout_var_06;" type_identifier identifier ;) (declaration "off_t startoff;" type_identifier identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "Output_section *pOVar11;" type_identifier (pointer_declarator "*pOVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "pointer ppOVar13;" type_identifier identifier ;) (declaration "Output_section *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (expression_statement "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;" (field_expression "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start" (field_expression "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl" (binary_expression "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar13 = (this->unattached_section_list_).\n             super__Vector_base<gold" identifier = (binary_expression "(this->unattached_section_list_).\n             super__Vector_base<gold" (field_expression "(this->unattached_section_list_).\n             super__Vector_base" (parenthesized_expression "(this->unattached_section_list_)" ( (field_expression "this->unattached_section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish == ppOVar13) {\n    return off;\n  }" if (parenthesized_expression "((this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish == ppOVar13)" ( (binary_expression "(this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish == ppOVar13" (field_expression "(this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "(this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->unattached_section_list_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->unattached_section_list_).\n      super__Vector_base<gold" (field_expression "(this->unattached_section_list_).\n      super__Vector_base" (parenthesized_expression "(this->unattached_section_list_)" ( (field_expression "this->unattached_section_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n    return off;\n  }" { (return_statement "return off;" return identifier ;) })) (expression_statement "uVar12 = off;" (assignment_expression "uVar12 = off" identifier = identifier) ;) (expression_statement "uVar6 = off;" (assignment_expression "uVar6 = off" identifier = identifier) ;) (labeled_statement "LAB_001a6389:\n  do {\n    pOVar8 = *ppOVar13;\n    if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }\nLAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;\n    if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    pOVar8 = *ppOVar13;\n    if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }\nLAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;\n    if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }\n  } while( true );" do (compound_statement "{\n    pOVar8 = *ppOVar13;\n    if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }\nLAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;\n    if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }\n  }" { (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (if_statement "if ((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))) {\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }" if (parenthesized_expression "((pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0))))" ( (binary_expression "(pOVar8 != this->symtab_section_) &&\n       ((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))" (parenthesized_expression "(pOVar8 != this->symtab_section_)" ( (binary_expression "pOVar8 != this->symtab_section_" identifier != (field_expression "this->symtab_section_" identifier -> field_identifier)) )) && (parenthesized_expression "((bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)))" ( (parenthesized_expression "(bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0))" ( (comma_expression "bVar1 = (pOVar8->super_Output_data).field_0x20, (bVar1 & 4) == 0 || ((bVar1 & 2) == 0)" (assignment_expression "bVar1 = (pOVar8->super_Output_data).field_0x20" identifier = (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(bVar1 & 4) == 0 || ((bVar1 & 2) == 0)" (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n      if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }\n    }" { (if_statement "if (pass == BEFORE_INPUT_SECTIONS_PASS) {\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }" if (parenthesized_expression "(pass == BEFORE_INPUT_SECTIONS_PASS)" ( (binary_expression "pass == BEFORE_INPUT_SECTIONS_PASS" identifier == identifier) )) (compound_statement "{\n        if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }\n        if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;\n      }" { (if_statement "if ((pOVar8->field_0xc8 & 0x20) != 0) {\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }" if (parenthesized_expression "((pOVar8->field_0xc8 & 0x20) != 0)" ( (binary_expression "(pOVar8->field_0xc8 & 0x20) != 0" (parenthesized_expression "(pOVar8->field_0xc8 & 0x20)" ( (binary_expression "pOVar8->field_0xc8 & 0x20" (field_expression "pOVar8->field_0xc8" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          Output_section::create_postprocessing_buffer(pOVar8);\n          this->any_postprocessing_sections_ = true;\n          pOVar8 = *ppOVar13;\n        }" { (labeled_statement "Output_section::create_postprocessing_buffer(pOVar8);" statement_identifier : (ERROR ":" :) (expression_statement "create_postprocessing_buffer(pOVar8);" (call_expression "create_postprocessing_buffer(pOVar8)" identifier (argument_list "(pOVar8)" ( identifier ))) ;)) (expression_statement "this->any_postprocessing_sections_ = true;" (assignment_expression "this->any_postprocessing_sections_ = true" (field_expression "this->any_postprocessing_sections_" identifier -> field_identifier) = true) ;) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) })) (if_statement "if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;" if (parenthesized_expression "((pOVar8->field_0xc8 & 0x10) == 0)" ( (binary_expression "(pOVar8->field_0xc8 & 0x10) == 0" (parenthesized_expression "(pOVar8->field_0xc8 & 0x10)" ( (binary_expression "pOVar8->field_0xc8 & 0x10" (field_expression "pOVar8->field_0xc8" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a62c2;" goto statement_identifier ;)) }) (else_clause "else {\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }" else (compound_statement "{\n        if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;\n        if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }\n        if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }\n      }" { (if_statement "if (pass == POSTPROCESSING_SECTIONS_PASS) {\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }" if (parenthesized_expression "(pass == POSTPROCESSING_SECTIONS_PASS)" ( (binary_expression "pass == POSTPROCESSING_SECTIONS_PASS" identifier == identifier) )) (compound_statement "{\n          if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;\n          bVar3 = Parameters::incremental_update(parameters);\n          if (!bVar3) goto LAB_001a62d6;\nLAB_001a63d5:\n          pOVar8 = *ppOVar13;\n          pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }\n          len = (pOVar8->super_Output_data).data_size_;\n          if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }\n          uVar6 = Free_list::allocate(&this->free_list_,len,uVar7,off);\n          if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          pOVar8 = *ppOVar13;\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }\n          if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }\n        }" { (if_statement "if (((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)) goto LAB_001a6378;" if (parenthesized_expression "(((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3))" ( (binary_expression "((pOVar8->field_0xc8 & 0x10) == 0) || (pOVar8->type_ == 3)" (parenthesized_expression "((pOVar8->field_0xc8 & 0x10) == 0)" ( (binary_expression "(pOVar8->field_0xc8 & 0x10) == 0" (parenthesized_expression "(pOVar8->field_0xc8 & 0x10)" ( (binary_expression "pOVar8->field_0xc8 & 0x10" (field_expression "pOVar8->field_0xc8" identifier -> field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "(pOVar8->type_ == 3)" ( (binary_expression "pOVar8->type_ == 3" (field_expression "pOVar8->type_" identifier -> field_identifier) == number_literal) ))) )) (goto_statement "goto LAB_001a6378;" goto statement_identifier ;)) (ERROR "bVar3 = Parameters::" (assignment_expression "bVar3 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (if_statement "if (!bVar3) goto LAB_001a62d6;" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (goto_statement "goto LAB_001a62d6;" goto statement_identifier ;)) (labeled_statement "LAB_001a63d5:\n          pOVar8 = *ppOVar13;" statement_identifier : (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;)) (expression_statement "pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;" (assignment_expression "pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data" identifier = (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }" if (parenthesized_expression "(((pOVar8->super_Output_data).field_0x20 & 2) == 0)" ( (binary_expression "((pOVar8->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pOVar8->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pOVar8->super_Output_data).field_0x20 & 2" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            (*pp_Var5[0xd])();\n            pOVar8 = *ppOVar13;\n            pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;\n          }" { (expression_statement "(*pp_Var5[0xd])();" (call_expression "(*pp_Var5[0xd])()" (parenthesized_expression "(*pp_Var5[0xd])" ( (pointer_expression "*pp_Var5[0xd]" * (subscript_expression "pp_Var5[0xd]" identifier [ number_literal ])) )) (argument_list "()" ( ))) ;) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (expression_statement "pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data;" (assignment_expression "pp_Var5 = (pOVar8->super_Output_data)._vptr_Output_data" identifier = (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) })) (expression_statement "len = (pOVar8->super_Output_data).data_size_;" (assignment_expression "len = (pOVar8->super_Output_data).data_size_" identifier = (field_expression "(pOVar8->super_Output_data).data_size_" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pp_Var5[3] == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }" if (parenthesized_expression "(pp_Var5[3] == Output_section::do_addralign)" ( (binary_expression "pp_Var5[3] == Output_section" (subscript_expression "pp_Var5[3]" identifier [ number_literal ]) == identifier) (ERROR "::do_addralign" : : identifier) )) (compound_statement "{\n            uVar7 = pOVar8->addralign_;\n          }" { (expression_statement "uVar7 = pOVar8->addralign_;" (assignment_expression "uVar7 = pOVar8->addralign_" identifier = (field_expression "pOVar8->addralign_" identifier -> field_identifier)) ;) }) (else_clause "else {\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }" else (compound_statement "{\n            iVar4 = (*pp_Var5[3])();\n            uVar7 = CONCAT44(extraout_var_00,iVar4);\n          }" { (expression_statement "iVar4 = (*pp_Var5[3])();" (assignment_expression "iVar4 = (*pp_Var5[3])()" identifier = (call_expression "(*pp_Var5[3])()" (parenthesized_expression "(*pp_Var5[3])" ( (pointer_expression "*pp_Var5[3]" * (subscript_expression "pp_Var5[3]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "uVar7 = CONCAT44(extraout_var_00,iVar4);" (assignment_expression "uVar7 = CONCAT44(extraout_var_00,iVar4)" identifier = (call_expression "CONCAT44(extraout_var_00,iVar4)" identifier (argument_list "(extraout_var_00,iVar4)" ( identifier , identifier )))) ;) }))) (ERROR "uVar6 = Free_list::" (assignment_expression "uVar6 = Free_list" identifier = identifier) : :) (expression_statement "allocate(&this->free_list_,len,uVar7,off);" (call_expression "allocate(&this->free_list_,len,uVar7,off)" identifier (argument_list "(&this->free_list_,len,uVar7,off)" ( (pointer_expression "&this->free_list_" & (field_expression "this->free_list_" identifier -> field_identifier)) , identifier , identifier , identifier ))) ;) (if_statement "if (uVar6 == 0xffffffffffffffff) {\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }" if (parenthesized_expression "(uVar6 == 0xffffffffffffffff)" ( (binary_expression "uVar6 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n            if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }\n            if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }" { (if_statement "if ((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)) {\n              Free_list::dump(&this->free_list_);\n            }" if (parenthesized_expression "((parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0))" ( (binary_expression "(parameters->options_ != (General_options *)0x0) &&\n               ((parameters->debug_ & 0x10) != 0)" (parenthesized_expression "(parameters->options_ != (General_options *)0x0)" ( (binary_expression "parameters->options_ != (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((parameters->debug_ & 0x10) != 0)" ( (binary_expression "(parameters->debug_ & 0x10) != 0" (parenthesized_expression "(parameters->debug_ & 0x10)" ( (binary_expression "parameters->debug_ & 0x10" (field_expression "parameters->debug_" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              Free_list::dump(&this->free_list_);\n            }" { (labeled_statement "Free_list::dump(&this->free_list_);" statement_identifier : (ERROR ":" :) (expression_statement "dump(&this->free_list_);" (call_expression "dump(&this->free_list_)" identifier (argument_list "(&this->free_list_)" ( (pointer_expression "&this->free_list_" & (field_expression "this->free_list_" identifier -> field_identifier)) ))) ;)) })) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[9]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }" if (parenthesized_expression "(p_Var2 != Output_section::do_output_section)" ( (binary_expression "p_Var2 != Output_section" identifier != identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);\n            }" { (expression_statement "iVar4 = (*p_Var2)(pOVar8);" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) ;) (expression_statement "pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4);" (assignment_expression "pOVar8 = (Output_section *)CONCAT44(extraout_var_04,iVar4)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var_04,iVar4)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_04,iVar4)" identifier (argument_list "(extraout_var_04,iVar4)" ( identifier , identifier ))))) ;) })) (if_statement "if (pOVar8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }" if (parenthesized_expression "(pOVar8 == (Output_section *)0x0)" ( (binary_expression "pOVar8 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets");" (call_expression "do_gold_unreachable("../../gold/layout.cc",0x1081,"set_section_offsets")" identifier (argument_list "("../../gold/layout.cc",0x1081,"set_section_offsets")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""set_section_offsets"" " string_content ") ))) ;) })) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[9]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }" if (parenthesized_expression "(p_Var2 != Output_section::do_output_section)" ( (binary_expression "p_Var2 != Output_section" identifier != identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);\n            }" { (expression_statement "iVar4 = (*p_Var2)(pOVar8);" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) ;) (expression_statement "pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4);" (assignment_expression "pOVar8 = (Output_section *)CONCAT44(extraout_var_05,iVar4)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var_05,iVar4)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_05,iVar4)" identifier (argument_list "(extraout_var_05,iVar4)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar10 = pOVar8->name_;" (assignment_expression "pcVar10 = pOVar8->name_" identifier = (field_expression "pOVar8->name_" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    );" (assignment_expression "pcVar9 = (char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    )" identifier = (cast_expression "(char *)gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    )" identifier (argument_list "(\n                                    "out of patch space for section %s; relink with --incremental-full"\n                                    )" ( (string_literal ""out of patch space for section %s; relink with --incremental-full"" " string_content ") ))))) ;) comment (expression_statement "gold_fallback(pcVar9,pcVar10);" (call_expression "gold_fallback(pcVar9,pcVar10)" identifier (argument_list "(pcVar9,pcVar10)" ( identifier , identifier ))) ;) })) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (expression_statement "bVar1 = (pOVar8->super_Output_data).field_0x20;" (assignment_expression "bVar1 = (pOVar8->super_Output_data).field_0x20" identifier = (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n          }" { (labeled_statement "LAB_001a66fa:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;)) })) (expression_statement "(pOVar8->super_Output_data).offset_ = uVar6;" (assignment_expression "(pOVar8->super_Output_data).offset_ = uVar6" (field_expression "(pOVar8->super_Output_data).offset_" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pOVar8->super_Output_data).field_0x20 = bVar1 | 4;" (assignment_expression "(pOVar8->super_Output_data).field_0x20 = bVar1 | 4" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar1 | 4" identifier | number_literal)) ;) (if_statement "if ((bVar1 & 2) == 0) {\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            pOVar8 = *ppOVar13;\n            if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n          }" { (expression_statement "(*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);" (call_expression "(*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8)" (parenthesized_expression "(*(pOVar8->super_Output_data)._vptr_Output_data[0xe])" ( (pointer_expression "*(pOVar8->super_Output_data)._vptr_Output_data[0xe]" * (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[0xe]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(pOVar8)" ( identifier ))) ;) (if_statement "if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }" if (parenthesized_expression "(((pOVar8->super_Output_data).field_0x20 & 2) == 0)" ( (binary_expression "((pOVar8->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pOVar8->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pOVar8->super_Output_data).field_0x20 & 2" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n            }" { (labeled_statement "LAB_001a6712:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;)) })) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (if_statement "if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;" if (parenthesized_expression "(((pOVar8->super_Output_data).field_0x20 & 2) == 0)" ( (binary_expression "((pOVar8->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pOVar8->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pOVar8->super_Output_data).field_0x20 & 2" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a66e2;" goto statement_identifier ;)) })) (if_statement "if (len < (pOVar8->super_Output_data).data_size_) {\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }" if (parenthesized_expression "(len < (pOVar8->super_Output_data).data_size_)" ( (binary_expression "len < (pOVar8->super_Output_data).data_size_" identifier < (field_expression "(pOVar8->super_Output_data).data_size_" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }\n            pOVar8 = *ppOVar13;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }\n            pcVar10 = pOVar8->name_;\n            pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(pcVar9,pcVar10);\n          }" { (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[9]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if ((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }" if (parenthesized_expression "((p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0))" ( (binary_expression "(p_Var2 != Output_section::do_output_section) &&\n               (iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)" (parenthesized_expression "(p_Var2 != Output_section::do_output_section)" ( (binary_expression "p_Var2 != Output_section" identifier != identifier) (ERROR "::do_output_section" : : identifier) )) && (parenthesized_expression "(iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0)" ( (comma_expression "iVar4 = (*p_Var2)(pOVar8), CONCAT44(extraout_var_03,iVar4) == 0" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) , (binary_expression "CONCAT44(extraout_var_03,iVar4) == 0" (call_expression "CONCAT44(extraout_var_03,iVar4)" identifier (argument_list "(extraout_var_03,iVar4)" ( identifier , identifier ))) == number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets");" (call_expression "do_gold_unreachable("../../gold/layout.cc",0x108a,"set_section_offsets")" identifier (argument_list "("../../gold/layout.cc",0x108a,"set_section_offsets")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""set_section_offsets"" " string_content ") ))) ;) })) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[9]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 != Output_section::do_output_section) {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }" if (parenthesized_expression "(p_Var2 != Output_section::do_output_section)" ( (binary_expression "p_Var2 != Output_section" identifier != identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);\n            }" { (expression_statement "iVar4 = (*p_Var2)(pOVar8);" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) ;) (expression_statement "pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4);" (assignment_expression "pOVar8 = (Output_section *)CONCAT44(extraout_var_06,iVar4)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var_06,iVar4)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_06,iVar4)" identifier (argument_list "(extraout_var_06,iVar4)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar10 = pOVar8->name_;" (assignment_expression "pcVar10 = pOVar8->name_" identifier = (field_expression "pOVar8->name_" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full");" (assignment_expression "pcVar9 = (char *)gettext("%s: section changed size; relink with --incremental-full")" identifier = (cast_expression "(char *)gettext("%s: section changed size; relink with --incremental-full")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: section changed size; relink with --incremental-full")" identifier (argument_list "("%s: section changed size; relink with --incremental-full")" ( (string_literal ""%s: section changed size; relink with --incremental-full"" " string_content ") ))))) ;) comment (expression_statement "gold_fallback(pcVar9,pcVar10);" (call_expression "gold_fallback(pcVar9,pcVar10)" identifier (argument_list "(pcVar9,pcVar10)" ( identifier , identifier ))) ;) })) (if_statement "if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }" if (parenthesized_expression "((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             )" ( (binary_expression "(parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)" (parenthesized_expression "(parameters->options_ != (General_options *)0x0)" ( (binary_expression "parameters->options_ != (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((parameters->debug_ & 0x10) != 0)" ( (binary_expression "(parameters->debug_ & 0x10) != 0" (parenthesized_expression "(parameters->debug_ & 0x10)" ( (binary_expression "parameters->debug_ & 0x10" (field_expression "parameters->debug_" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            this_00 = parameters->errors_;\n            p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n            if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }\n            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;\n            Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);\n            goto LAB_001a633e;\n          }" { (expression_statement "this_00 = parameters->errors_;" (assignment_expression "this_00 = parameters->errors_" identifier = (field_expression "parameters->errors_" identifier -> field_identifier)) ;) (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[9]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 == Output_section::do_output_section) {\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }\n            else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }" if (parenthesized_expression "(p_Var2 == Output_section::do_output_section)" ( (binary_expression "p_Var2 == Output_section" identifier == identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\nLAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];\n              pOVar11 = pOVar8;\n              if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }\n              pcVar10 = pOVar8->name_;\n            }" { (labeled_statement "LAB_001a64bf:\n              p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" statement_identifier : (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[9]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[9]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;)) (expression_statement "pOVar11 = pOVar8;" (assignment_expression "pOVar11 = pOVar8" identifier = identifier) ;) (if_statement "if (p_Var2 != Output_section::do_output_section) {\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }" if (parenthesized_expression "(p_Var2 != Output_section::do_output_section)" ( (binary_expression "p_Var2 != Output_section" identifier != identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n                iVar4 = (*p_Var2)(pOVar8);\n                pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);\n                pOVar11 = *ppOVar13;\n              }" { (expression_statement "iVar4 = (*p_Var2)(pOVar8);" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) ;) (expression_statement "pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4);" (assignment_expression "pOVar8 = (Output_section *)CONCAT44(extraout_var_02,iVar4)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var_02,iVar4)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_02,iVar4)" identifier (argument_list "(extraout_var_02,iVar4)" ( identifier , identifier ))))) ;) (expression_statement "pOVar11 = *ppOVar13;" (assignment_expression "pOVar11 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) })) (expression_statement "pcVar10 = pOVar8->name_;" (assignment_expression "pcVar10 = pOVar8->name_" identifier = (field_expression "pOVar8->name_" identifier -> field_identifier)) ;) }) (else_clause "else {\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }" else (compound_statement "{\n              iVar4 = (*p_Var2)(pOVar8);\n              pOVar11 = *ppOVar13;\n              pOVar8 = pOVar11;\n              if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;\n              pcVar10 = "(special)";\n            }" { (expression_statement "iVar4 = (*p_Var2)(pOVar8);" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) ;) (expression_statement "pOVar11 = *ppOVar13;" (assignment_expression "pOVar11 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) (expression_statement "pOVar8 = pOVar11;" (assignment_expression "pOVar8 = pOVar11" identifier = identifier) ;) (if_statement "if (CONCAT44(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;" if (parenthesized_expression "(CONCAT44(extraout_var_01,iVar4) != 0)" ( (binary_expression "CONCAT44(extraout_var_01,iVar4) != 0" (call_expression "CONCAT44(extraout_var_01,iVar4)" identifier (argument_list "(extraout_var_01,iVar4)" ( identifier , identifier ))) != number_literal) )) (goto_statement "goto LAB_001a64bf;" goto statement_identifier ;)) (expression_statement "pcVar10 = "(special)";" (assignment_expression "pcVar10 = "(special)"" identifier = (string_literal ""(special)"" " string_content ")) ;) }))) (if_statement "if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;" if (parenthesized_expression "(((pOVar11->super_Output_data).field_0x20 & 2) == 0)" ( (binary_expression "((pOVar11->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pOVar11->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pOVar11->super_Output_data).field_0x20 & 2" (field_expression "(pOVar11->super_Output_data).field_0x20" (parenthesized_expression "(pOVar11->super_Output_data)" ( (field_expression "pOVar11->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a66e2;" goto statement_identifier ;)) (labeled_statement "Errors::debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);" statement_identifier : (ERROR ":" :) (expression_statement "debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10);" (call_expression "debug(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10)" identifier (argument_list "(this_00,"set_section_offsets: %08lx %08lx %s",uVar6,\n                          (pOVar11->super_Output_data).data_size_,pcVar10)" ( identifier , (string_literal ""set_section_offsets: %08lx %08lx %s"" " string_content ") , identifier , (field_expression "(pOVar11->super_Output_data).data_size_" (parenthesized_expression "(pOVar11->super_Output_data)" ( (field_expression "pOVar11->super_Output_data" identifier -> field_identifier) )) . field_identifier) , identifier ))) ;)) (goto_statement "goto LAB_001a633e;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }" else (compound_statement "{\n          if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);\n          if (bVar3) goto LAB_001a63d5;\nLAB_001a62d6:\n          pOVar8 = *ppOVar13;\n          p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];\n          if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }\n          if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }\n          bVar1 = (pOVar8->super_Output_data).field_0x20;\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          (pOVar8->super_Output_data).offset_ = uVar6;\n          (pOVar8->super_Output_data).field_0x20 = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          pOVar8 = *ppOVar13;\n          if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n        }" { (if_statement "if (pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" if (parenthesized_expression "(pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS)" ( (binary_expression "pass == STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS" identifier == identifier) )) (compound_statement "{\n            if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;\n            if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" { (if_statement "if ((pOVar8->field_0xc8 & 0x10) == 0) goto LAB_001a6378;" if (parenthesized_expression "((pOVar8->field_0xc8 & 0x10) == 0)" ( (binary_expression "(pOVar8->field_0xc8 & 0x10) == 0" (parenthesized_expression "(pOVar8->field_0xc8 & 0x10)" ( (binary_expression "pOVar8->field_0xc8 & 0x10" (field_expression "pOVar8->field_0xc8" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a6378;" goto statement_identifier ;)) (if_statement "if (pOVar8->type_ != 3) {\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" if (parenthesized_expression "(pOVar8->type_ != 3)" ( (binary_expression "pOVar8->type_ != 3" (field_expression "pOVar8->type_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n              ppOVar13 = ppOVar13 + 1;\n              if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" { (expression_statement "ppOVar13 = ppOVar13 + 1;" (assignment_expression "ppOVar13 = ppOVar13 + 1" identifier = (binary_expression "ppOVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13) {\n                return uVar12;\n              }" if (parenthesized_expression "((this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13)" ( (binary_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish == ppOVar13" (field_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish" (field_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->unattached_section_list_).\n                  super__Vector_base<gold" (field_expression "(this->unattached_section_list_).\n                  super__Vector_base" (parenthesized_expression "(this->unattached_section_list_)" ( (field_expression "this->unattached_section_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n                return uVar12;\n              }" { (return_statement "return uVar12;" return identifier ;) })) (goto_statement "goto LAB_001a6389;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001a62c2:\n          bVar3 = Parameters::incremental_update(parameters);" statement_identifier : (ERROR "bVar3 = Parameters::" (assignment_expression "bVar3 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;)) (if_statement "if (bVar3) goto LAB_001a63d5;" if (parenthesized_expression "(bVar3)" ( identifier )) (goto_statement "goto LAB_001a63d5;" goto statement_identifier ;)) (labeled_statement "LAB_001a62d6:\n          pOVar8 = *ppOVar13;" statement_identifier : (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;)) (expression_statement "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3];" (assignment_expression "p_Var2 = (pOVar8->super_Output_data)._vptr_Output_data[3]" identifier = (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[3]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var2 == Output_section::do_addralign) {\n            uVar7 = pOVar8->addralign_;\n          }\n          else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }" if (parenthesized_expression "(p_Var2 == Output_section::do_addralign)" ( (binary_expression "p_Var2 == Output_section" identifier == identifier) (ERROR "::do_addralign" : : identifier) )) (compound_statement "{\n            uVar7 = pOVar8->addralign_;\n          }" { (expression_statement "uVar7 = pOVar8->addralign_;" (assignment_expression "uVar7 = pOVar8->addralign_" identifier = (field_expression "pOVar8->addralign_" identifier -> field_identifier)) ;) }) (else_clause "else {\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }" else (compound_statement "{\n            iVar4 = (*p_Var2)(pOVar8);\n            uVar7 = CONCAT44(extraout_var,iVar4);\n            pOVar8 = *ppOVar13;\n          }" { (expression_statement "iVar4 = (*p_Var2)(pOVar8);" (assignment_expression "iVar4 = (*p_Var2)(pOVar8)" identifier = (call_expression "(*p_Var2)(pOVar8)" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(pOVar8)" ( identifier )))) ;) (expression_statement "uVar7 = CONCAT44(extraout_var,iVar4);" (assignment_expression "uVar7 = CONCAT44(extraout_var,iVar4)" identifier = (call_expression "CONCAT44(extraout_var,iVar4)" identifier (argument_list "(extraout_var,iVar4)" ( identifier , identifier )))) ;) (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;) }))) (if_statement "if (uVar7 != 0) {\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar6 = (uVar6 - 1) + uVar7 & -uVar7;\n          }" { (expression_statement "uVar6 = (uVar6 - 1) + uVar7 & -uVar7;" (assignment_expression "uVar6 = (uVar6 - 1) + uVar7 & -uVar7" identifier = (binary_expression "(uVar6 - 1) + uVar7 & -uVar7" (binary_expression "(uVar6 - 1) + uVar7" (parenthesized_expression "(uVar6 - 1)" ( (binary_expression "uVar6 - 1" identifier - number_literal) )) + identifier) & (unary_expression "-uVar7" - identifier))) ;) })) (expression_statement "bVar1 = (pOVar8->super_Output_data).field_0x20;" (assignment_expression "bVar1 = (pOVar8->super_Output_data).field_0x20" identifier = (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar1 & 4) != 0) goto LAB_001a66fa;" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001a66fa;" goto statement_identifier ;)) (expression_statement "(pOVar8->super_Output_data).offset_ = uVar6;" (assignment_expression "(pOVar8->super_Output_data).offset_ = uVar6" (field_expression "(pOVar8->super_Output_data).offset_" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(pOVar8->super_Output_data).field_0x20 = bVar1 | 4;" (assignment_expression "(pOVar8->super_Output_data).field_0x20 = bVar1 | 4" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar1 | 4" identifier | number_literal)) ;) (if_statement "if ((bVar1 & 2) != 0) goto LAB_001a634d;" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001a634d;" goto statement_identifier ;)) (expression_statement "(*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8);" (call_expression "(*(pOVar8->super_Output_data)._vptr_Output_data[0xe])(pOVar8)" (parenthesized_expression "(*(pOVar8->super_Output_data)._vptr_Output_data[0xe])" ( (pointer_expression "*(pOVar8->super_Output_data)._vptr_Output_data[0xe]" * (subscript_expression "(pOVar8->super_Output_data)._vptr_Output_data[0xe]" (field_expression "(pOVar8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(pOVar8)" ( identifier ))) ;) (if_statement "if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;" if (parenthesized_expression "(((pOVar8->super_Output_data).field_0x20 & 2) == 0)" ( (binary_expression "((pOVar8->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pOVar8->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pOVar8->super_Output_data).field_0x20 & 2" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a6712;" goto statement_identifier ;)) (labeled_statement "LAB_001a633e:\n          pOVar8 = *ppOVar13;" statement_identifier : (expression_statement "pOVar8 = *ppOVar13;" (assignment_expression "pOVar8 = *ppOVar13" identifier = (pointer_expression "*ppOVar13" * identifier)) ;)) (if_statement "if (((pOVar8->super_Output_data).field_0x20 & 2) == 0) {\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }" if (parenthesized_expression "(((pOVar8->super_Output_data).field_0x20 & 2) == 0)" ( (binary_expression "((pOVar8->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pOVar8->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pOVar8->super_Output_data).field_0x20 & 2" (field_expression "(pOVar8->super_Output_data).field_0x20" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }" { (labeled_statement "LAB_001a66e2:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) }))) (labeled_statement "LAB_001a634d:\n        uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;" statement_identifier : (expression_statement "uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_;" (assignment_expression "uVar6 = uVar6 + (pOVar8->super_Output_data).data_size_" identifier = (binary_expression "uVar6 + (pOVar8->super_Output_data).data_size_" identifier + (field_expression "(pOVar8->super_Output_data).data_size_" (parenthesized_expression "(pOVar8->super_Output_data)" ( (field_expression "pOVar8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;)) (if_statement "if ((long)uVar12 < (long)uVar6) {\n          uVar12 = uVar6;\n        }" if (parenthesized_expression "((long)uVar12 < (long)uVar6)" ( (binary_expression "(long)uVar12 < (long)uVar6" (cast_expression "(long)uVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (cast_expression "(long)uVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n          uVar12 = uVar6;\n        }" { (expression_statement "uVar12 = uVar6;" (assignment_expression "uVar12 = uVar6" identifier = identifier) ;) })) (if_statement "if (pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS) {\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }" if (parenthesized_expression "(pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS)" ( (binary_expression "pass != STRTAB_AFTER_POSTPROCESSING_SECTIONS_PASS" identifier != identifier) )) (compound_statement "{\n          Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);\n        }" { (expression_statement "Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0);" (binary_expression "Stringpool_template<char>::add(&this->namepool_,pOVar8->name_,false,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(&this->namepool_,pOVar8->name_,false,(Key *)0x0)" identifier (argument_list "(&this->namepool_,pOVar8->name_,false,(Key *)0x0)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , (field_expression "pOVar8->name_" identifier -> field_identifier) , false , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) })) }))) })) (labeled_statement "LAB_001a6378:\n    ppOVar13 = ppOVar13 + 1;" statement_identifier : (expression_statement "ppOVar13 = ppOVar13 + 1;" (assignment_expression "ppOVar13 = ppOVar13 + 1" identifier = (binary_expression "ppOVar13 + 1" identifier + number_literal)) ;)) (if_statement "if ((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13) {\n      return uVar12;\n    }" if (parenthesized_expression "((this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13)" ( (binary_expression "(this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish == ppOVar13" (field_expression "(this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_finish" (field_expression "(this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->unattached_section_list_).\n        super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->unattached_section_list_).\n        super__Vector_base<gold" (field_expression "(this->unattached_section_list_).\n        super__Vector_base" (parenthesized_expression "(this->unattached_section_list_)" ( (field_expression "this->unattached_section_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n      return uVar12;\n    }" { (return_statement "return uVar12;" return identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "ulong FUN_001a6260(long param_1,ulong param_2,int param_3)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}\n\n" (function_definition "ulong FUN_001a6260(long param_1,ulong param_2,int param_3)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" type_identifier (function_declarator "FUN_001a6260(long param_1,ulong param_2,int param_3)" identifier (parameter_list "(long param_1,ulong param_2,int param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "long *plVar8;" (sized_type_specifier "long" long) (pointer_declarator "*plVar8" * identifier) ;) (declaration "code *extraout_RDX;" type_identifier (pointer_declarator "*extraout_RDX" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (expression_statement "plVar13 = *(long **)(param_1 + 0x260);" (assignment_expression "plVar13 = *(long **)(param_1 + 0x260)" identifier = (pointer_expression "*(long **)(param_1 + 0x260)" * (cast_expression "(long **)(param_1 + 0x260)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x260)" ( (binary_expression "param_1 + 0x260" identifier + number_literal) ))))) ;) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }" if (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" ( (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" * (cast_expression "(long **)(param_1 + 0x268)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n    return param_2;\n  }" { (return_statement "return param_2;" return identifier ;) })) (expression_statement "uVar12 = param_2;" (assignment_expression "uVar12 = param_2" identifier = identifier) ;) (expression_statement "uVar4 = param_2;" (assignment_expression "uVar4 = param_2" identifier = identifier) ;) (labeled_statement "LAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );" do (compound_statement "{\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  }" { (expression_statement "lVar5 = *plVar13;" (assignment_expression "lVar5 = *plVar13" identifier = (pointer_expression "*plVar13" * identifier)) ;) (if_statement "if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }" if (parenthesized_expression "((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0))))" ( (binary_expression "(lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))" (parenthesized_expression "(lVar5 != *(long *)(param_1 + 0x2d0))" ( (binary_expression "lVar5 != *(long *)(param_1 + 0x2d0)" identifier != (pointer_expression "*(long *)(param_1 + 0x2d0)" * (cast_expression "(long *)(param_1 + 0x2d0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2d0)" ( (binary_expression "param_1 + 0x2d0" identifier + number_literal) ))))) )) && (parenthesized_expression "(((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))" ( (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0))" ( (binary_expression "(*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)" (binary_expression "(*(byte *)(lVar5 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 4)" ( (binary_expression "*(byte *)(lVar5 + 0x20) & 4" (pointer_expression "*(byte *)(lVar5 + 0x20)" * (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 2) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar5 + 0x20) & 2" (pointer_expression "*(byte *)(lVar5 + 0x20)" * (cast_expression "(byte *)(lVar5 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }" { (if_statement "if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }" { (if_statement "if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }" if (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x20) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x20) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x20)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x20" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }" { (expression_statement "FUN_001f6900();" (call_expression "FUN_001f6900()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x36e) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x36e) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x36e)" * (cast_expression "(undefined1 *)(param_1 + 0x36e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x36e)" ( (binary_expression "param_1 + 0x36e" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar5 = *plVar13;" (assignment_expression "lVar5 = *plVar13" identifier = (pointer_expression "*plVar13" * identifier)) ;) })) (if_statement "if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;" if (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a62c2;" goto statement_identifier ;)) }) (else_clause "else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" else (compound_statement "{\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" { (if_statement "if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" if (parenthesized_expression "(param_3 == 1)" ( (binary_expression "param_3 == 1" identifier == number_literal) )) (compound_statement "{\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }" { (if_statement "if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;" if (parenthesized_expression "(((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))" ( (binary_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3)" (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(lVar5 + 0x6c) == 3)" ( (binary_expression "*(int *)(lVar5 + 0x6c) == 3" (pointer_expression "*(int *)(lVar5 + 0x6c)" * (cast_expression "(int *)(lVar5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x6c)" ( (binary_expression "lVar5 + 0x6c" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_001a6378;" goto statement_identifier ;)) (expression_statement "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (assignment_expression "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0)" identifier = (call_expression "FUN_002379c0(PTR_DAT_0043e6b0)" identifier (argument_list "(PTR_DAT_0043e6b0)" ( identifier )))) ;) (if_statement "if (cVar3 == '\0') goto LAB_001a62d6;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a62d6;" goto statement_identifier ;)) (labeled_statement "LAB_001a63d5:\n          plVar6 = (long *)*plVar13;" statement_identifier : (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;)) (expression_statement "lVar5 = *plVar6;" (assignment_expression "lVar5 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }" { (expression_statement "(**(code **)(lVar5 + 0x68))();" (call_expression "(**(code **)(lVar5 + 0x68))()" (parenthesized_expression "(**(code **)(lVar5 + 0x68))" ( (pointer_expression "**(code **)(lVar5 + 0x68)" * (pointer_expression "*(code **)(lVar5 + 0x68)" * (cast_expression "(code **)(lVar5 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x68)" ( (binary_expression "lVar5 + 0x68" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (expression_statement "lVar5 = *plVar6;" (assignment_expression "lVar5 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) })) (expression_statement "lVar2 = plVar6[2];" (assignment_expression "lVar2 = plVar6[2]" identifier = (subscript_expression "plVar6[2]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" if (parenthesized_expression "(*(code **)(lVar5 + 0x18) == FUN_001b0fc0)" ( (binary_expression "*(code **)(lVar5 + 0x18) == FUN_001b0fc0" (pointer_expression "*(code **)(lVar5 + 0x18)" * (cast_expression "(code **)(lVar5 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n            lVar5 = plVar6[6];\n          }" { (expression_statement "lVar5 = plVar6[6];" (assignment_expression "lVar5 = plVar6[6]" identifier = (subscript_expression "plVar6[6]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" else (compound_statement "{\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" { (expression_statement "lVar5 = (**(code **)(lVar5 + 0x18))();" (assignment_expression "lVar5 = (**(code **)(lVar5 + 0x18))()" identifier = (call_expression "(**(code **)(lVar5 + 0x18))()" (parenthesized_expression "(**(code **)(lVar5 + 0x18))" ( (pointer_expression "**(code **)(lVar5 + 0x18)" * (pointer_expression "*(code **)(lVar5 + 0x18)" * (cast_expression "(code **)(lVar5 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + 0x18)" ( (binary_expression "lVar5 + 0x18" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "plVar6 = (long *)(param_1 + 0x468);" (assignment_expression "plVar6 = (long *)(param_1 + 0x468)" identifier = (cast_expression "(long *)(param_1 + 0x468)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x468)" ( (binary_expression "param_1 + 0x468" identifier + number_literal) )))) ;) (expression_statement "uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);" (assignment_expression "uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2)" identifier = (call_expression "FUN_001a4800(plVar6,lVar2,lVar5,param_2)" identifier (argument_list "(plVar6,lVar2,lVar5,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;" if (parenthesized_expression "(uVar4 == 0xffffffffffffffff)" ( (binary_expression "uVar4 == 0xffffffffffffffff" identifier == number_literal) )) (goto_statement "goto LAB_001a6622;" goto statement_identifier ;)) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (expression_statement "bVar1 = *(byte *)(plVar6 + 4);" (assignment_expression "bVar1 = *(byte *)(plVar6 + 4)" identifier = (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }" { (labeled_statement "LAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;)) })) (expression_statement "plVar6[3] = uVar4;" (assignment_expression "plVar6[3] = uVar4" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(plVar6 + 4) = bVar1 | 4;" (assignment_expression "*(byte *)(plVar6 + 4) = bVar1 | 4" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "bVar1 | 4" identifier | number_literal)) ;) (if_statement "if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }" { (expression_statement "(**(code **)(*plVar6 + 0x70))(plVar6);" (call_expression "(**(code **)(*plVar6 + 0x70))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x70))" ( (pointer_expression "**(code **)(*plVar6 + 0x70)" * (pointer_expression "*(code **)(*plVar6 + 0x70)" * (cast_expression "(code **)(*plVar6 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x70)" ( (binary_expression "*plVar6 + 0x70" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }" { (labeled_statement "LAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;)) })) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a66e2;" goto statement_identifier ;)) })) (if_statement "if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }" if (parenthesized_expression "(lVar2 < plVar6[2])" ( (binary_expression "lVar2 < plVar6[2]" identifier < (subscript_expression "plVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }" { (expression_statement "pcVar10 = FUN_001b0fb0;" (assignment_expression "pcVar10 = FUN_001b0fb0" identifier = identifier) ;) (expression_statement "pcVar9 = *(code **)(*plVar6 + 0x48);" (assignment_expression "pcVar9 = *(code **)(*plVar6 + 0x48)" identifier = (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;" if (parenthesized_expression "(pcVar9 != FUN_001b0fb0)" ( (binary_expression "pcVar9 != FUN_001b0fb0" identifier != identifier) )) (goto_statement "goto LAB_001a6688;" goto statement_identifier ;)) (do_statement "do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);" do (compound_statement "{\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            }" { (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" if (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != pcVar10)" ( (binary_expression "*(code **)(*plVar8 + 0x48) != pcVar10" (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" { (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" ( (pointer_expression "**(code **)(*plVar8 + 0x48)" * (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))))) ;) })) (expression_statement "lVar5 = plVar8[5];" (assignment_expression "lVar5 = plVar8[5]" identifier = (subscript_expression "plVar8[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = gettext("%s: section changed size; relink with --incremental-full");" (assignment_expression "uVar7 = gettext("%s: section changed size; relink with --incremental-full")" identifier = (call_expression "gettext("%s: section changed size; relink with --incremental-full")" identifier (argument_list "("%s: section changed size; relink with --incremental-full")" ( (string_literal ""%s: section changed size; relink with --incremental-full"" " string_content ") )))) ;) (expression_statement "FUN_00178280(uVar7,lVar5);" (call_expression "FUN_00178280(uVar7,lVar5)" identifier (argument_list "(uVar7,lVar5)" ( identifier , identifier ))) ;) (labeled_statement "LAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }" statement_identifier : (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }" if (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                FUN_001a4a20(plVar6);\n              }" { (expression_statement "FUN_001a4a20(plVar6);" (call_expression "FUN_001a4a20(plVar6)" identifier (argument_list "(plVar6)" ( identifier ))) ;) }))) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" if (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar8 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" { (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" ( (pointer_expression "**(code **)(*plVar8 + 0x48)" * (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))))) ;) })) (if_statement "if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }" if (parenthesized_expression "(plVar8 == (long *)0x0)" ( (binary_expression "plVar8 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }" { (expression_statement "FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");" (call_expression "FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets")" identifier (argument_list "("../../gold/layout.cc",0x1081,"set_section_offsets")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""set_section_offsets"" " string_content ") ))) ;) })) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (if_statement "if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" if (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar8 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" { (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" ( (pointer_expression "**(code **)(*plVar8 + 0x48)" * (pointer_expression "*(code **)(*plVar8 + 0x48)" * (cast_expression "(code **)(*plVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x48)" ( (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))))) ;) })) (expression_statement "pcVar10 = (code *)plVar8[5];" (assignment_expression "pcVar10 = (code *)plVar8[5]" identifier = (cast_expression "(code *)plVar8[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar8[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");" (assignment_expression "uVar7 = gettext("out of patch space for section %s; relink with --incremental-full")" identifier = (call_expression "gettext("out of patch space for section %s; relink with --incremental-full")" identifier (argument_list "("out of patch space for section %s; relink with --incremental-full")" ( (string_literal ""out of patch space for section %s; relink with --incremental-full"" " string_content ") )))) ;) (expression_statement "FUN_00178280(uVar7,pcVar10);" (call_expression "FUN_00178280(uVar7,pcVar10)" identifier (argument_list "(uVar7,pcVar10)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = extraout_RDX;" (assignment_expression "pcVar9 = extraout_RDX" identifier = identifier) ;) (labeled_statement "LAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);" statement_identifier : (expression_statement "lVar5 = (*pcVar9)(plVar6);" (assignment_expression "lVar5 = (*pcVar9)(plVar6)" identifier = (call_expression "(*pcVar9)(plVar6)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(plVar6)" ( identifier )))) ;)) }) while (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) ;) (expression_statement "FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");" (call_expression "FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets")" identifier (argument_list "("../../gold/layout.cc",0x108a,"set_section_offsets")" ( (string_literal ""../../gold/layout.cc"" " string_content ") , number_literal , (string_literal ""set_section_offsets"" " string_content ") ))) ;) })) (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }" if (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }" { (expression_statement "uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;" (assignment_expression "uVar7 = *(undefined8 *)PTR_DAT_0043e6b0" identifier = (pointer_expression "*(undefined8 *)PTR_DAT_0043e6b0" * (cast_expression "(undefined8 *)PTR_DAT_0043e6b0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" if (parenthesized_expression "(*(code **)(*plVar6 + 0x48) == FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar6 + 0x48) == FUN_001b0fb0" (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }" { (labeled_statement "LAB_001a64bf:\n              plVar8 = plVar6;" statement_identifier : (expression_statement "plVar8 = plVar6;" (assignment_expression "plVar8 = plVar6" identifier = identifier) ;)) (if_statement "if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }" if (parenthesized_expression "(*(code **)(*plVar6 + 0x48) != FUN_001b0fb0)" ( (binary_expression "*(code **)(*plVar6 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }" { (expression_statement "plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);" (assignment_expression "plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6)" identifier = (cast_expression "(long *)(**(code **)(*plVar6 + 0x48))(plVar6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar6 + 0x48))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x48))" ( (pointer_expression "**(code **)(*plVar6 + 0x48)" * (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))))) ;) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) })) (expression_statement "pcVar11 = (char *)plVar6[5];" (assignment_expression "pcVar11 = (char *)plVar6[5]" identifier = (cast_expression "(char *)plVar6[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[5]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" else (compound_statement "{\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" { (expression_statement "lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);" (assignment_expression "lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6)" identifier = (call_expression "(**(code **)(*plVar6 + 0x48))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x48))" ( (pointer_expression "**(code **)(*plVar6 + 0x48)" * (pointer_expression "*(code **)(*plVar6 + 0x48)" * (cast_expression "(code **)(*plVar6 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x48)" ( (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier )))) ;) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) (expression_statement "plVar6 = plVar8;" (assignment_expression "plVar6 = plVar8" identifier = identifier) ;) (if_statement "if (lVar5 != 0) goto LAB_001a64bf;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001a64bf;" goto statement_identifier ;)) (expression_statement "pcVar11 = "(special)";" (assignment_expression "pcVar11 = "(special)"" identifier = (string_literal ""(special)"" " string_content ")) ;) }))) (if_statement "if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;" if (parenthesized_expression "((*(byte *)(plVar8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar8 + 4) & 2)" ( (binary_expression "*(byte *)(plVar8 + 4) & 2" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a66e2;" goto statement_identifier ;)) (expression_statement "FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);" (call_expression "FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11)" identifier (argument_list "(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11)" ( identifier , (string_literal ""set_section_offsets: %08lx %08lx %s"" " string_content ") , identifier , (subscript_expression "plVar8[2]" identifier [ number_literal ]) , identifier ))) ;) (goto_statement "goto LAB_001a633e;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" else (compound_statement "{\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" { (if_statement "if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" { (if_statement "if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;" if (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" ( (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" ( (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" * (cast_expression "(byte *)(lVar5 + 200)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 200)" ( (binary_expression "lVar5 + 200" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a6378;" goto statement_identifier ;)) (if_statement "if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" if (parenthesized_expression "(*(int *)(lVar5 + 0x6c) != 3)" ( (binary_expression "*(int *)(lVar5 + 0x6c) != 3" (pointer_expression "*(int *)(lVar5 + 0x6c)" * (cast_expression "(int *)(lVar5 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x6c)" ( (binary_expression "lVar5 + 0x6c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" { (expression_statement "plVar13 = plVar13 + 1;" (assignment_expression "plVar13 = plVar13 + 1" identifier = (binary_expression "plVar13 + 1" identifier + number_literal)) ;) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }" if (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" ( (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" * (cast_expression "(long **)(param_1 + 0x268)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n                return uVar12;\n              }" { (return_statement "return uVar12;" return identifier ;) })) (goto_statement "goto LAB_001a6389;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" statement_identifier : (expression_statement "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (assignment_expression "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0)" identifier = (call_expression "FUN_002379c0(PTR_DAT_0043e6b0)" identifier (argument_list "(PTR_DAT_0043e6b0)" ( identifier )))) ;)) (if_statement "if (cVar3 != '\0') goto LAB_001a63d5;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001a63d5;" goto statement_identifier ;)) (labeled_statement "LAB_001a62d6:\n          plVar6 = (long *)*plVar13;" statement_identifier : (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;)) (if_statement "if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" if (parenthesized_expression "(*(code **)(*plVar6 + 0x18) == FUN_001b0fc0)" ( (binary_expression "*(code **)(*plVar6 + 0x18) == FUN_001b0fc0" (pointer_expression "*(code **)(*plVar6 + 0x18)" * (cast_expression "(code **)(*plVar6 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x18)" ( (binary_expression "*plVar6 + 0x18" (pointer_expression "*plVar6" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            lVar5 = plVar6[6];\n          }" { (expression_statement "lVar5 = plVar6[6];" (assignment_expression "lVar5 = plVar6[6]" identifier = (subscript_expression "plVar6[6]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" else (compound_statement "{\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" { (expression_statement "lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);" (assignment_expression "lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6)" identifier = (call_expression "(**(code **)(*plVar6 + 0x18))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x18))" ( (pointer_expression "**(code **)(*plVar6 + 0x18)" * (pointer_expression "*(code **)(*plVar6 + 0x18)" * (cast_expression "(code **)(*plVar6 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x18)" ( (binary_expression "*plVar6 + 0x18" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier )))) ;) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;) }))) (if_statement "if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }" { (expression_statement "uVar4 = (uVar4 - 1) + lVar5 & -lVar5;" (assignment_expression "uVar4 = (uVar4 - 1) + lVar5 & -lVar5" identifier = (binary_expression "(uVar4 - 1) + lVar5 & -lVar5" (binary_expression "(uVar4 - 1) + lVar5" (parenthesized_expression "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) )) + identifier) & (unary_expression "-lVar5" - identifier))) ;) })) (expression_statement "bVar1 = *(byte *)(plVar6 + 4);" (assignment_expression "bVar1 = *(byte *)(plVar6 + 4)" identifier = (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) != 0) goto LAB_001a66fa;" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001a66fa;" goto statement_identifier ;)) (expression_statement "plVar6[3] = uVar4;" (assignment_expression "plVar6[3] = uVar4" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(plVar6 + 4) = bVar1 | 4;" (assignment_expression "*(byte *)(plVar6 + 4) = bVar1 | 4" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "bVar1 | 4" identifier | number_literal)) ;) (if_statement "if ((bVar1 & 2) != 0) goto LAB_001a634d;" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001a634d;" goto statement_identifier ;)) (expression_statement "(**(code **)(*plVar6 + 0x70))(plVar6);" (call_expression "(**(code **)(*plVar6 + 0x70))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x70))" ( (pointer_expression "**(code **)(*plVar6 + 0x70)" * (pointer_expression "*(code **)(*plVar6 + 0x70)" * (cast_expression "(code **)(*plVar6 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x70)" ( (binary_expression "*plVar6 + 0x70" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001a6712;" goto statement_identifier ;)) (labeled_statement "LAB_001a633e:\n          plVar6 = (long *)*plVar13;" statement_identifier : (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" identifier = (cast_expression "(long *)*plVar13" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar13" * identifier))) ;)) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }" if (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" ( (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }" { (labeled_statement "LAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) }))) (labeled_statement "LAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];" statement_identifier : (expression_statement "uVar4 = uVar4 + plVar6[2];" (assignment_expression "uVar4 = uVar4 + plVar6[2]" identifier = (binary_expression "uVar4 + plVar6[2]" identifier + (subscript_expression "plVar6[2]" identifier [ number_literal ]))) ;)) (if_statement "if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }" if (parenthesized_expression "((long)uVar12 < (long)uVar4)" ( (binary_expression "(long)uVar12 < (long)uVar4" (cast_expression "(long)uVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (cast_expression "(long)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n          uVar12 = uVar4;\n        }" { (expression_statement "uVar12 = uVar4;" (assignment_expression "uVar12 = uVar4" identifier = identifier) ;) })) (if_statement "if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }" if (parenthesized_expression "(param_3 != 2)" ( (binary_expression "param_3 != 2" identifier != number_literal) )) (compound_statement "{\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }" { (expression_statement "FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);" (call_expression "FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0)" identifier (argument_list "(param_1 + 0x10,plVar6[5],0,0)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , (subscript_expression "plVar6[5]" identifier [ number_literal ]) , number_literal , number_literal ))) ;) })) }))) })) (labeled_statement "LAB_001a6378:\n    plVar13 = plVar13 + 1;" statement_identifier : (expression_statement "plVar13 = plVar13 + 1;" (assignment_expression "plVar13 = plVar13 + 1" identifier = (binary_expression "plVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }" if (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" ( (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" * (cast_expression "(long **)(param_1 + 0x268)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      return uVar12;\n    }" { (return_statement "return uVar12;" return identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_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) || (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 { (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 (call_expression IDENT (argument_list ( ))) ;) (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 * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (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 IDENT + LIT) ))))) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression (subscript_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)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (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 ))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (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 (sized_type_specifier long) (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 = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (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 ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (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 ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (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 = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (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) )) (goto_statement goto statement_identifier ;)) (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 (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (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 = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + IDENT) & (unary_expression - IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_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)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) < (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , LIT , LIT ))) ;) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "ulong FUN_001a6260(long param_1,ulong param_2,int param_3)\n\n{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" (type_identifier "ulong") (function_declarator "FUN_001a6260(long param_1,ulong param_2,int param_3)" (identifier "FUN_001a6260") (parameter_list "(long param_1,ulong param_2,int param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "ulong param_2" (type_identifier "ulong") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  char cVar3;\n  ulong uVar4;\n  long lVar5;\n  long *plVar6;\n  undefined8 uVar7;\n  long *plVar8;\n  code *extraout_RDX;\n  code *pcVar9;\n  code *pcVar10;\n  char *pcVar11;\n  ulong uVar12;\n  long *plVar13;\n  \n  plVar13 = *(long **)(param_1 + 0x260);\n  if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }\n  uVar12 = param_2;\n  uVar4 = param_2;\nLAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "ulong uVar4;" (type_identifier "ulong") (identifier "uVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "long *plVar6;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar6" (* "*") (identifier "plVar6")) (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "long *plVar8;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar8" (* "*") (identifier "plVar8")) (; ";")) (declaration "code *extraout_RDX;" (type_identifier "code") (pointer_declarator "*extraout_RDX" (* "*") (identifier "extraout_RDX")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "long *plVar13;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar13" (* "*") (identifier "plVar13")) (; ";")) (expression_statement "plVar13 = *(long **)(param_1 + 0x260);" (assignment_expression "plVar13 = *(long **)(param_1 + 0x260)" (identifier "plVar13") (= "=") (pointer_expression "*(long **)(param_1 + 0x260)" (* "*") (cast_expression "(long **)(param_1 + 0x260)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x260)" (( "(") (binary_expression "param_1 + 0x260" (identifier "param_1") (+ "+") (number_literal "0x260")) () ")"))))) (; ";")) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n    return param_2;\n  }" (if "if") (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" (( "(") (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" (* "*") (cast_expression "(long **)(param_1 + 0x268)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x268)" (( "(") (binary_expression "param_1 + 0x268" (identifier "param_1") (+ "+") (number_literal "0x268")) () ")")))) (== "==") (identifier "plVar13")) () ")")) (compound_statement "{\n    return param_2;\n  }" ({ "{") (return_statement "return param_2;" (return "return") (identifier "param_2") (; ";")) (} "}"))) (expression_statement "uVar12 = param_2;" (assignment_expression "uVar12 = param_2" (identifier "uVar12") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uVar4 = param_2;" (assignment_expression "uVar4 = param_2" (identifier "uVar4") (= "=") (identifier "param_2")) (; ";")) (labeled_statement "LAB_001a6389:\n  do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );" (statement_identifier "LAB_001a6389") (: ":") (do_statement "do {\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    lVar5 = *plVar13;\n    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }\nLAB_001a6378:\n    plVar13 = plVar13 + 1;\n    if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }\n  }" ({ "{") (expression_statement "lVar5 = *plVar13;" (assignment_expression "lVar5 = *plVar13" (identifier "lVar5") (= "=") (pointer_expression "*plVar13" (* "*") (identifier "plVar13"))) (; ";")) (if_statement "if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }" (if "if") (parenthesized_expression "((lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0))))" (( "(") (binary_expression "(lVar5 != *(long *)(param_1 + 0x2d0)) &&\n       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))" (parenthesized_expression "(lVar5 != *(long *)(param_1 + 0x2d0))" (( "(") (binary_expression "lVar5 != *(long *)(param_1 + 0x2d0)" (identifier "lVar5") (!= "!=") (pointer_expression "*(long *)(param_1 + 0x2d0)" (* "*") (cast_expression "(long *)(param_1 + 0x2d0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2d0)" (( "(") (binary_expression "param_1 + 0x2d0" (identifier "param_1") (+ "+") (number_literal "0x2d0")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))" (( "(") (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0))" (( "(") (binary_expression "(*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)" (binary_expression "(*(byte *)(lVar5 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 4)" (( "(") (binary_expression "*(byte *)(lVar5 + 0x20) & 4" (pointer_expression "*(byte *)(lVar5 + 0x20)" (* "*") (cast_expression "(byte *)(lVar5 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x20)" (( "(") (binary_expression "lVar5 + 0x20" (identifier "lVar5") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(lVar5 + 0x20) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x20) & 2)" (( "(") (binary_expression "*(byte *)(lVar5 + 0x20) & 2" (pointer_expression "*(byte *)(lVar5 + 0x20)" (* "*") (cast_expression "(byte *)(lVar5 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x20)" (( "(") (binary_expression "lVar5 + 0x20" (identifier "lVar5") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }\n    }" ({ "{") (if_statement "if (param_3 == 0) {\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }\n      else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }\n        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;\n      }" ({ "{") (if_statement "if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 200) & 0x20) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x20)" (( "(") (binary_expression "*(byte *)(lVar5 + 200) & 0x20" (pointer_expression "*(byte *)(lVar5 + 200)" (* "*") (cast_expression "(byte *)(lVar5 + 200)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 200)" (( "(") (binary_expression "lVar5 + 200" (identifier "lVar5") (+ "+") (number_literal "200")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_001f6900();\n          *(undefined1 *)(param_1 + 0x36e) = 1;\n          lVar5 = *plVar13;\n        }" ({ "{") (expression_statement "FUN_001f6900();" (call_expression "FUN_001f6900()" (identifier "FUN_001f6900") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x36e) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x36e) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x36e)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x36e)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x36e)" (( "(") (binary_expression "param_1 + 0x36e" (identifier "param_1") (+ "+") (number_literal "0x36e")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "lVar5 = *plVar13;" (assignment_expression "lVar5 = *plVar13" (identifier "lVar5") (= "=") (pointer_expression "*plVar13" (* "*") (identifier "plVar13"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;" (if "if") (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" (( "(") (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" (* "*") (cast_expression "(byte *)(lVar5 + 200)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 200)" (( "(") (binary_expression "lVar5 + 200" (identifier "lVar5") (+ "+") (number_literal "200")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a62c2;" (goto "goto") (statement_identifier "LAB_001a62c2") (; ";"))) (} "}")) (else_clause "else {\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" (else "else") (compound_statement "{\n        if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }\nLAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];\n        if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }\n        if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }\n      }" ({ "{") (if_statement "if (param_3 == 1) {\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }\n        else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" (if "if") (parenthesized_expression "(param_3 == 1)" (( "(") (binary_expression "param_3 == 1" (identifier "param_3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 == '\0') goto LAB_001a62d6;\nLAB_001a63d5:\n          plVar6 = (long *)*plVar13;\n          lVar5 = *plVar6;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }\n          lVar2 = plVar6[2];\n          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }\n          plVar6 = (long *)(param_1 + 0x468);\n          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);\n          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;\n          plVar6 = (long *)*plVar13;\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }\n          if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }\n          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }\n        }" ({ "{") (if_statement "if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))\n          goto LAB_001a6378;" (if "if") (parenthesized_expression "(((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))" (( "(") (binary_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3)" (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" (( "(") (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" (* "*") (cast_expression "(byte *)(lVar5 + 200)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 200)" (( "(") (binary_expression "lVar5 + 200" (identifier "lVar5") (+ "+") (number_literal "200")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(lVar5 + 0x6c) == 3)" (( "(") (binary_expression "*(int *)(lVar5 + 0x6c) == 3" (pointer_expression "*(int *)(lVar5 + 0x6c)" (* "*") (cast_expression "(int *)(lVar5 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x6c)" (( "(") (binary_expression "lVar5 + 0x6c" (identifier "lVar5") (+ "+") (number_literal "0x6c")) () ")")))) (== "==") (number_literal "3")) () ")"))) () ")")) (goto_statement "goto LAB_001a6378;" (goto "goto") (statement_identifier "LAB_001a6378") (; ";"))) (expression_statement "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (assignment_expression "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0)" (identifier "cVar3") (= "=") (call_expression "FUN_002379c0(PTR_DAT_0043e6b0)" (identifier "FUN_002379c0") (argument_list "(PTR_DAT_0043e6b0)" (( "(") (identifier "PTR_DAT_0043e6b0") () ")")))) (; ";")) (if_statement "if (cVar3 == '\0') goto LAB_001a62d6;" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001a62d6;" (goto "goto") (statement_identifier "LAB_001a62d6") (; ";"))) (labeled_statement "LAB_001a63d5:\n          plVar6 = (long *)*plVar13;" (statement_identifier "LAB_001a63d5") (: ":") (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";"))) (expression_statement "lVar5 = *plVar6;" (assignment_expression "lVar5 = *plVar6" (identifier "lVar5") (= "=") (pointer_expression "*plVar6" (* "*") (identifier "plVar6"))) (; ";")) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }" (if "if") (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(lVar5 + 0x68))();\n            plVar6 = (long *)*plVar13;\n            lVar5 = *plVar6;\n          }" ({ "{") (expression_statement "(**(code **)(lVar5 + 0x68))();" (call_expression "(**(code **)(lVar5 + 0x68))()" (parenthesized_expression "(**(code **)(lVar5 + 0x68))" (( "(") (pointer_expression "**(code **)(lVar5 + 0x68)" (* "*") (pointer_expression "*(code **)(lVar5 + 0x68)" (* "*") (cast_expression "(code **)(lVar5 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x68)" (( "(") (binary_expression "lVar5 + 0x68" (identifier "lVar5") (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (expression_statement "lVar5 = *plVar6;" (assignment_expression "lVar5 = *plVar6" (identifier "lVar5") (= "=") (pointer_expression "*plVar6" (* "*") (identifier "plVar6"))) (; ";")) (} "}"))) (expression_statement "lVar2 = plVar6[2];" (assignment_expression "lVar2 = plVar6[2]" (identifier "lVar2") (= "=") (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" (if "if") (parenthesized_expression "(*(code **)(lVar5 + 0x18) == FUN_001b0fc0)" (( "(") (binary_expression "*(code **)(lVar5 + 0x18) == FUN_001b0fc0" (pointer_expression "*(code **)(lVar5 + 0x18)" (* "*") (cast_expression "(code **)(lVar5 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x18)" (( "(") (binary_expression "lVar5 + 0x18" (identifier "lVar5") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (identifier "FUN_001b0fc0")) () ")")) (compound_statement "{\n            lVar5 = plVar6[6];\n          }" ({ "{") (expression_statement "lVar5 = plVar6[6];" (assignment_expression "lVar5 = plVar6[6]" (identifier "lVar5") (= "=") (subscript_expression "plVar6[6]" (identifier "plVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" (else "else") (compound_statement "{\n            lVar5 = (**(code **)(lVar5 + 0x18))();\n          }" ({ "{") (expression_statement "lVar5 = (**(code **)(lVar5 + 0x18))();" (assignment_expression "lVar5 = (**(code **)(lVar5 + 0x18))()" (identifier "lVar5") (= "=") (call_expression "(**(code **)(lVar5 + 0x18))()" (parenthesized_expression "(**(code **)(lVar5 + 0x18))" (( "(") (pointer_expression "**(code **)(lVar5 + 0x18)" (* "*") (pointer_expression "*(code **)(lVar5 + 0x18)" (* "*") (cast_expression "(code **)(lVar5 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + 0x18)" (( "(") (binary_expression "lVar5 + 0x18" (identifier "lVar5") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "plVar6 = (long *)(param_1 + 0x468);" (assignment_expression "plVar6 = (long *)(param_1 + 0x468)" (identifier "plVar6") (= "=") (cast_expression "(long *)(param_1 + 0x468)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x468)" (( "(") (binary_expression "param_1 + 0x468" (identifier "param_1") (+ "+") (number_literal "0x468")) () ")")))) (; ";")) (expression_statement "uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);" (assignment_expression "uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2)" (identifier "uVar4") (= "=") (call_expression "FUN_001a4800(plVar6,lVar2,lVar5,param_2)" (identifier "FUN_001a4800") (argument_list "(plVar6,lVar2,lVar5,param_2)" (( "(") (identifier "plVar6") (, ",") (identifier "lVar2") (, ",") (identifier "lVar5") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;" (if "if") (parenthesized_expression "(uVar4 == 0xffffffffffffffff)" (( "(") (binary_expression "uVar4 == 0xffffffffffffffff" (identifier "uVar4") (== "==") (number_literal "0xffffffffffffffff")) () ")")) (goto_statement "goto LAB_001a6622;" (goto "goto") (statement_identifier "LAB_001a6622") (; ";"))) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (expression_statement "bVar1 = *(byte *)(plVar6 + 4);" (assignment_expression "bVar1 = *(byte *)(plVar6 + 4)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }" (if "if") (parenthesized_expression "((bVar1 & 4) != 0)" (( "(") (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");\n          }" ({ "{") (labeled_statement "LAB_001a66fa:\n                    \n            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");" (statement_identifier "LAB_001a66fa") (: ":") (expression_statement "FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x14b") (, ",") (string_literal ""set_file_offset"" (" """) (string_content "set_file_offset") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "plVar6[3] = uVar4;" (assignment_expression "plVar6[3] = uVar4" (subscript_expression "plVar6[3]" (identifier "plVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(byte *)(plVar6 + 4) = bVar1 | 4;" (assignment_expression "*(byte *)(plVar6 + 4) = bVar1 | 4" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "bVar1 | 4" (identifier "bVar1") (| "|") (number_literal "4"))) (; ";")) (if_statement "if ((bVar1 & 2) == 0) {\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }" (if "if") (parenthesized_expression "((bVar1 & 2) == 0)" (( "(") (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(*plVar6 + 0x70))(plVar6);\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }\n            plVar6 = (long *)*plVar13;\n            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;\n          }" ({ "{") (expression_statement "(**(code **)(*plVar6 + 0x70))(plVar6);" (call_expression "(**(code **)(*plVar6 + 0x70))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x70))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x70)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x70)" (* "*") (cast_expression "(code **)(*plVar6 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x70)" (( "(") (binary_expression "*plVar6 + 0x70" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))) (; ";")) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }" (if "if") (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");\n            }" ({ "{") (labeled_statement "LAB_001a6712:\n                    \n              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");" (statement_identifier "LAB_001a6712") (: ":") (expression_statement "FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x163") (, ",") (string_literal ""finalize_data_size"" (" """) (string_content "finalize_data_size") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;" (if "if") (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a66e2;" (goto "goto") (statement_identifier "LAB_001a66e2") (; ";"))) (} "}"))) (if_statement "if (lVar2 < plVar6[2]) {\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }" (if "if") (parenthesized_expression "(lVar2 < plVar6[2])" (( "(") (binary_expression "lVar2 < plVar6[2]" (identifier "lVar2") (< "<") (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n            pcVar10 = FUN_001b0fb0;\n            pcVar9 = *(code **)(*plVar6 + 0x48);\n            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;\n            do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);\n                    \n            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");\n          }" ({ "{") (expression_statement "pcVar10 = FUN_001b0fb0;" (assignment_expression "pcVar10 = FUN_001b0fb0" (identifier "pcVar10") (= "=") (identifier "FUN_001b0fb0")) (; ";")) (expression_statement "pcVar9 = *(code **)(*plVar6 + 0x48);" (assignment_expression "pcVar9 = *(code **)(*plVar6 + 0x48)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(*plVar6 + 0x48)" (* "*") (cast_expression "(code **)(*plVar6 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x48)" (( "(") (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;" (if "if") (parenthesized_expression "(pcVar9 != FUN_001b0fb0)" (( "(") (binary_expression "pcVar9 != FUN_001b0fb0" (identifier "pcVar9") (!= "!=") (identifier "FUN_001b0fb0")) () ")")) (goto_statement "goto LAB_001a6688;" (goto "goto") (statement_identifier "LAB_001a6688") (; ";"))) (do_statement "do {\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            } while (lVar5 != 0);" (do "do") (compound_statement "{\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              lVar5 = plVar8[5];\n              uVar7 = gettext("%s: section changed size; relink with --incremental-full");\n              FUN_00178280(uVar7,lVar5);\nLAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }\n              plVar8 = (long *)*plVar13;\n              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }\n              pcVar10 = (code *)plVar8[5];\n              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");\n              FUN_00178280(uVar7,pcVar10);\n              pcVar9 = extraout_RDX;\nLAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);\n            }" ({ "{") (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" (identifier "plVar8") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (if_statement "if (*(code **)(*plVar8 + 0x48) != pcVar10) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" (if "if") (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != pcVar10)" (( "(") (binary_expression "*(code **)(*plVar8 + 0x48) != pcVar10" (pointer_expression "*(code **)(*plVar8 + 0x48)" (* "*") (cast_expression "(code **)(*plVar8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x48)" (( "(") (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (identifier "pcVar10")) () ")")) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" ({ "{") (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" (identifier "plVar8") (= "=") (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0x48)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0x48)" (* "*") (cast_expression "(code **)(*plVar8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x48)" (( "(") (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(plVar8)" (( "(") (identifier "plVar8") () ")"))))) (; ";")) (} "}"))) (expression_statement "lVar5 = plVar8[5];" (assignment_expression "lVar5 = plVar8[5]" (identifier "lVar5") (= "=") (subscript_expression "plVar8[5]" (identifier "plVar8") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar7 = gettext("%s: section changed size; relink with --incremental-full");" (assignment_expression "uVar7 = gettext("%s: section changed size; relink with --incremental-full")" (identifier "uVar7") (= "=") (call_expression "gettext("%s: section changed size; relink with --incremental-full")" (identifier "gettext") (argument_list "("%s: section changed size; relink with --incremental-full")" (( "(") (string_literal ""%s: section changed size; relink with --incremental-full"" (" """) (string_content "%s: section changed size; relink with --incremental-full") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00178280(uVar7,lVar5);" (call_expression "FUN_00178280(uVar7,lVar5)" (identifier "FUN_00178280") (argument_list "(uVar7,lVar5)" (( "(") (identifier "uVar7") (, ",") (identifier "lVar5") () ")"))) (; ";")) (labeled_statement "LAB_001a6622:\n              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }" (statement_identifier "LAB_001a6622") (: ":") (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n                FUN_001a4a20(plVar6);\n              }" (if "if") (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" (( "(") (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&\n                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (( "(") (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" (identifier "PTR_DAT_0043e6b0") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                FUN_001a4a20(plVar6);\n              }" ({ "{") (expression_statement "FUN_001a4a20(plVar6);" (call_expression "FUN_001a4a20(plVar6)" (identifier "FUN_001a4a20") (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))) (; ";")) (} "}")))) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" (identifier "plVar8") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (if_statement "if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" (if "if") (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != FUN_001b0fb0)" (( "(") (binary_expression "*(code **)(*plVar8 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar8 + 0x48)" (* "*") (cast_expression "(code **)(*plVar8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x48)" (( "(") (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (identifier "FUN_001b0fb0")) () ")")) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" ({ "{") (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" (identifier "plVar8") (= "=") (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0x48)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0x48)" (* "*") (cast_expression "(code **)(*plVar8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x48)" (( "(") (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(plVar8)" (( "(") (identifier "plVar8") () ")"))))) (; ";")) (} "}"))) (if_statement "if (plVar8 == (long *)0x0) {\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }" (if "if") (parenthesized_expression "(plVar8 == (long *)0x0)" (( "(") (binary_expression "plVar8 == (long *)0x0" (identifier "plVar8") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");\n              }" ({ "{") (expression_statement "FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");" (call_expression "FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets")" (identifier "FUN_0017c650") (argument_list "("../../gold/layout.cc",0x1081,"set_section_offsets")" (( "(") (string_literal ""../../gold/layout.cc"" (" """) (string_content "../../gold/layout.cc") (" """)) (, ",") (number_literal "0x1081") (, ",") (string_literal ""set_section_offsets"" (" """) (string_content "set_section_offsets") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" (identifier "plVar8") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (if_statement "if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" (if "if") (parenthesized_expression "(*(code **)(*plVar8 + 0x48) != FUN_001b0fb0)" (( "(") (binary_expression "*(code **)(*plVar8 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar8 + 0x48)" (* "*") (cast_expression "(code **)(*plVar8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x48)" (( "(") (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (identifier "FUN_001b0fb0")) () ")")) (compound_statement "{\n                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);\n              }" ({ "{") (expression_statement "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);" (assignment_expression "plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8)" (identifier "plVar8") (= "=") (cast_expression "(long *)(**(code **)(*plVar8 + 0x48))(plVar8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar8 + 0x48))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x48))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0x48)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0x48)" (* "*") (cast_expression "(code **)(*plVar8 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x48)" (( "(") (binary_expression "*plVar8 + 0x48" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(plVar8)" (( "(") (identifier "plVar8") () ")"))))) (; ";")) (} "}"))) (expression_statement "pcVar10 = (code *)plVar8[5];" (assignment_expression "pcVar10 = (code *)plVar8[5]" (identifier "pcVar10") (= "=") (cast_expression "(code *)plVar8[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar8[5]" (identifier "plVar8") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");" (assignment_expression "uVar7 = gettext("out of patch space for section %s; relink with --incremental-full")" (identifier "uVar7") (= "=") (call_expression "gettext("out of patch space for section %s; relink with --incremental-full")" (identifier "gettext") (argument_list "("out of patch space for section %s; relink with --incremental-full")" (( "(") (string_literal ""out of patch space for section %s; relink with --incremental-full"" (" """) (string_content "out of patch space for section %s; relink with --incremental-full") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00178280(uVar7,pcVar10);" (call_expression "FUN_00178280(uVar7,pcVar10)" (identifier "FUN_00178280") (argument_list "(uVar7,pcVar10)" (( "(") (identifier "uVar7") (, ",") (identifier "pcVar10") () ")"))) (; ";")) (expression_statement "pcVar9 = extraout_RDX;" (assignment_expression "pcVar9 = extraout_RDX" (identifier "pcVar9") (= "=") (identifier "extraout_RDX")) (; ";")) (labeled_statement "LAB_001a6688:\n              lVar5 = (*pcVar9)(plVar6);" (statement_identifier "LAB_001a6688") (: ":") (expression_statement "lVar5 = (*pcVar9)(plVar6);" (assignment_expression "lVar5 = (*pcVar9)(plVar6)" (identifier "lVar5") (= "=") (call_expression "(*pcVar9)(plVar6)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")")))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");" (call_expression "FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets")" (identifier "FUN_0017c650") (argument_list "("../../gold/layout.cc",0x108a,"set_section_offsets")" (( "(") (string_literal ""../../gold/layout.cc"" (" """) (string_content "../../gold/layout.cc") (" """)) (, ",") (number_literal "0x108a") (, ",") (string_literal ""set_section_offsets"" (" """) (string_content "set_section_offsets") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }" (if "if") (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" (( "(") (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (( "(") (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" (identifier "PTR_DAT_0043e6b0") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;\n            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }\n            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;\n            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);\n            goto LAB_001a633e;\n          }" ({ "{") (expression_statement "uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;" (assignment_expression "uVar7 = *(undefined8 *)PTR_DAT_0043e6b0" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)PTR_DAT_0043e6b0" (* "*") (cast_expression "(undefined8 *)PTR_DAT_0043e6b0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0043e6b0")))) (; ";")) (if_statement "if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }\n            else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" (if "if") (parenthesized_expression "(*(code **)(*plVar6 + 0x48) == FUN_001b0fb0)" (( "(") (binary_expression "*(code **)(*plVar6 + 0x48) == FUN_001b0fb0" (pointer_expression "*(code **)(*plVar6 + 0x48)" (* "*") (cast_expression "(code **)(*plVar6 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x48)" (( "(") (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x48")) () ")")))) (== "==") (identifier "FUN_001b0fb0")) () ")")) (compound_statement "{\nLAB_001a64bf:\n              plVar8 = plVar6;\n              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }\n              pcVar11 = (char *)plVar6[5];\n            }" ({ "{") (labeled_statement "LAB_001a64bf:\n              plVar8 = plVar6;" (statement_identifier "LAB_001a64bf") (: ":") (expression_statement "plVar8 = plVar6;" (assignment_expression "plVar8 = plVar6" (identifier "plVar8") (= "=") (identifier "plVar6")) (; ";"))) (if_statement "if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }" (if "if") (parenthesized_expression "(*(code **)(*plVar6 + 0x48) != FUN_001b0fb0)" (( "(") (binary_expression "*(code **)(*plVar6 + 0x48) != FUN_001b0fb0" (pointer_expression "*(code **)(*plVar6 + 0x48)" (* "*") (cast_expression "(code **)(*plVar6 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x48)" (( "(") (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (identifier "FUN_001b0fb0")) () ")")) (compound_statement "{\n                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);\n                plVar8 = (long *)*plVar13;\n              }" ({ "{") (expression_statement "plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);" (assignment_expression "plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6)" (identifier "plVar6") (= "=") (cast_expression "(long *)(**(code **)(*plVar6 + 0x48))(plVar6)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar6 + 0x48))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x48))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x48)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x48)" (* "*") (cast_expression "(code **)(*plVar6 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x48)" (( "(") (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))))) (; ";")) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" (identifier "plVar8") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (} "}"))) (expression_statement "pcVar11 = (char *)plVar6[5];" (assignment_expression "pcVar11 = (char *)plVar6[5]" (identifier "pcVar11") (= "=") (cast_expression "(char *)plVar6[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar6[5]" (identifier "plVar6") ([ "[") (number_literal "5") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" (else "else") (compound_statement "{\n              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);\n              plVar8 = (long *)*plVar13;\n              plVar6 = plVar8;\n              if (lVar5 != 0) goto LAB_001a64bf;\n              pcVar11 = "(special)";\n            }" ({ "{") (expression_statement "lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);" (assignment_expression "lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6)" (identifier "lVar5") (= "=") (call_expression "(**(code **)(*plVar6 + 0x48))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x48))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x48)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x48)" (* "*") (cast_expression "(code **)(*plVar6 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x48)" (( "(") (binary_expression "*plVar6 + 0x48" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")")))) (; ";")) (expression_statement "plVar8 = (long *)*plVar13;" (assignment_expression "plVar8 = (long *)*plVar13" (identifier "plVar8") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (expression_statement "plVar6 = plVar8;" (assignment_expression "plVar6 = plVar8" (identifier "plVar6") (= "=") (identifier "plVar8")) (; ";")) (if_statement "if (lVar5 != 0) goto LAB_001a64bf;" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a64bf;" (goto "goto") (statement_identifier "LAB_001a64bf") (; ";"))) (expression_statement "pcVar11 = "(special)";" (assignment_expression "pcVar11 = "(special)"" (identifier "pcVar11") (= "=") (string_literal ""(special)"" (" """) (string_content "(special)") (" """))) (; ";")) (} "}")))) (if_statement "if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;" (if "if") (parenthesized_expression "((*(byte *)(plVar8 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar8 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar8 + 4) & 2" (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a66e2;" (goto "goto") (statement_identifier "LAB_001a66e2") (; ";"))) (expression_statement "FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);" (call_expression "FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11)" (identifier "FUN_00178100") (argument_list "(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11)" (( "(") (identifier "uVar7") (, ",") (string_literal ""set_section_offsets: %08lx %08lx %s"" (" """) (string_content "set_section_offsets: %08lx %08lx %s") (" """)) (, ",") (identifier "uVar4") (, ",") (subscript_expression "plVar8[2]" (identifier "plVar8") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "pcVar11") () ")"))) (; ";")) (goto_statement "goto LAB_001a633e;" (goto "goto") (statement_identifier "LAB_001a633e") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" (else "else") (compound_statement "{\n          if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }\nLAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);\n          if (cVar3 != '\0') goto LAB_001a63d5;\nLAB_001a62d6:\n          plVar6 = (long *)*plVar13;\n          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }\n          if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }\n          bVar1 = *(byte *)(plVar6 + 4);\n          if ((bVar1 & 4) != 0) goto LAB_001a66fa;\n          plVar6[3] = uVar4;\n          *(byte *)(plVar6 + 4) = bVar1 | 4;\n          if ((bVar1 & 2) != 0) goto LAB_001a634d;\n          (**(code **)(*plVar6 + 0x70))(plVar6);\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;\nLAB_001a633e:\n          plVar6 = (long *)*plVar13;\n          if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }\n        }" ({ "{") (if_statement "if (param_3 == 2) {\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" (if "if") (parenthesized_expression "(param_3 == 2)" (( "(") (binary_expression "param_3 == 2" (identifier "param_3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;\n            if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }\n          }" ({ "{") (if_statement "if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;" (if "if") (parenthesized_expression "((*(byte *)(lVar5 + 200) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 200) & 0x10) == 0" (parenthesized_expression "(*(byte *)(lVar5 + 200) & 0x10)" (( "(") (binary_expression "*(byte *)(lVar5 + 200) & 0x10" (pointer_expression "*(byte *)(lVar5 + 200)" (* "*") (cast_expression "(byte *)(lVar5 + 200)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 200)" (( "(") (binary_expression "lVar5 + 200" (identifier "lVar5") (+ "+") (number_literal "200")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a6378;" (goto "goto") (statement_identifier "LAB_001a6378") (; ";"))) (if_statement "if (*(int *)(lVar5 + 0x6c) != 3) {\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" (if "if") (parenthesized_expression "(*(int *)(lVar5 + 0x6c) != 3)" (( "(") (binary_expression "*(int *)(lVar5 + 0x6c) != 3" (pointer_expression "*(int *)(lVar5 + 0x6c)" (* "*") (cast_expression "(int *)(lVar5 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x6c)" (( "(") (binary_expression "lVar5 + 0x6c" (identifier "lVar5") (+ "+") (number_literal "0x6c")) () ")")))) (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n              plVar13 = plVar13 + 1;\n              if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }\n              goto LAB_001a6389;\n            }" ({ "{") (expression_statement "plVar13 = plVar13 + 1;" (assignment_expression "plVar13 = plVar13 + 1" (identifier "plVar13") (= "=") (binary_expression "plVar13 + 1" (identifier "plVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n                return uVar12;\n              }" (if "if") (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" (( "(") (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" (* "*") (cast_expression "(long **)(param_1 + 0x268)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x268)" (( "(") (binary_expression "param_1 + 0x268" (identifier "param_1") (+ "+") (number_literal "0x268")) () ")")))) (== "==") (identifier "plVar13")) () ")")) (compound_statement "{\n                return uVar12;\n              }" ({ "{") (return_statement "return uVar12;" (return "return") (identifier "uVar12") (; ";")) (} "}"))) (goto_statement "goto LAB_001a6389;" (goto "goto") (statement_identifier "LAB_001a6389") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_001a62c2:\n          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (statement_identifier "LAB_001a62c2") (: ":") (expression_statement "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);" (assignment_expression "cVar3 = FUN_002379c0(PTR_DAT_0043e6b0)" (identifier "cVar3") (= "=") (call_expression "FUN_002379c0(PTR_DAT_0043e6b0)" (identifier "FUN_002379c0") (argument_list "(PTR_DAT_0043e6b0)" (( "(") (identifier "PTR_DAT_0043e6b0") () ")")))) (; ";"))) (if_statement "if (cVar3 != '\0') goto LAB_001a63d5;" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001a63d5;" (goto "goto") (statement_identifier "LAB_001a63d5") (; ";"))) (labeled_statement "LAB_001a62d6:\n          plVar6 = (long *)*plVar13;" (statement_identifier "LAB_001a62d6") (: ":") (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";"))) (if_statement "if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {\n            lVar5 = plVar6[6];\n          }\n          else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" (if "if") (parenthesized_expression "(*(code **)(*plVar6 + 0x18) == FUN_001b0fc0)" (( "(") (binary_expression "*(code **)(*plVar6 + 0x18) == FUN_001b0fc0" (pointer_expression "*(code **)(*plVar6 + 0x18)" (* "*") (cast_expression "(code **)(*plVar6 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x18)" (( "(") (binary_expression "*plVar6 + 0x18" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (identifier "FUN_001b0fc0")) () ")")) (compound_statement "{\n            lVar5 = plVar6[6];\n          }" ({ "{") (expression_statement "lVar5 = plVar6[6];" (assignment_expression "lVar5 = plVar6[6]" (identifier "lVar5") (= "=") (subscript_expression "plVar6[6]" (identifier "plVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" (else "else") (compound_statement "{\n            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);\n            plVar6 = (long *)*plVar13;\n          }" ({ "{") (expression_statement "lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);" (assignment_expression "lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6)" (identifier "lVar5") (= "=") (call_expression "(**(code **)(*plVar6 + 0x18))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x18))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x18)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x18)" (* "*") (cast_expression "(code **)(*plVar6 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x18)" (( "(") (binary_expression "*plVar6 + 0x18" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")")))) (; ";")) (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";")) (} "}")))) (if_statement "if (lVar5 != 0) {\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;\n          }" ({ "{") (expression_statement "uVar4 = (uVar4 - 1) + lVar5 & -lVar5;" (assignment_expression "uVar4 = (uVar4 - 1) + lVar5 & -lVar5" (identifier "uVar4") (= "=") (binary_expression "(uVar4 - 1) + lVar5 & -lVar5" (binary_expression "(uVar4 - 1) + lVar5" (parenthesized_expression "(uVar4 - 1)" (( "(") (binary_expression "uVar4 - 1" (identifier "uVar4") (- "-") (number_literal "1")) () ")")) (+ "+") (identifier "lVar5")) (& "&") (unary_expression "-lVar5" (- "-") (identifier "lVar5")))) (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(plVar6 + 4);" (assignment_expression "bVar1 = *(byte *)(plVar6 + 4)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) != 0) goto LAB_001a66fa;" (if "if") (parenthesized_expression "((bVar1 & 4) != 0)" (( "(") (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a66fa;" (goto "goto") (statement_identifier "LAB_001a66fa") (; ";"))) (expression_statement "plVar6[3] = uVar4;" (assignment_expression "plVar6[3] = uVar4" (subscript_expression "plVar6[3]" (identifier "plVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(byte *)(plVar6 + 4) = bVar1 | 4;" (assignment_expression "*(byte *)(plVar6 + 4) = bVar1 | 4" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "bVar1 | 4" (identifier "bVar1") (| "|") (number_literal "4"))) (; ";")) (if_statement "if ((bVar1 & 2) != 0) goto LAB_001a634d;" (if "if") (parenthesized_expression "((bVar1 & 2) != 0)" (( "(") (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a634d;" (goto "goto") (statement_identifier "LAB_001a634d") (; ";"))) (expression_statement "(**(code **)(*plVar6 + 0x70))(plVar6);" (call_expression "(**(code **)(*plVar6 + 0x70))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 0x70))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x70)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x70)" (* "*") (cast_expression "(code **)(*plVar6 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x70)" (( "(") (binary_expression "*plVar6 + 0x70" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))) (; ";")) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;" (if "if") (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a6712;" (goto "goto") (statement_identifier "LAB_001a6712") (; ";"))) (labeled_statement "LAB_001a633e:\n          plVar6 = (long *)*plVar13;" (statement_identifier "LAB_001a633e") (: ":") (expression_statement "plVar6 = (long *)*plVar13;" (assignment_expression "plVar6 = (long *)*plVar13" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar13" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar13" (* "*") (identifier "plVar13")))) (; ";"))) (if_statement "if ((*(byte *)(plVar6 + 4) & 2) == 0) {\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }" (if "if") (parenthesized_expression "((*(byte *)(plVar6 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar6 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar6 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar6 + 4) & 2" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");\n          }" ({ "{") (labeled_statement "LAB_001a66e2:\n                    \n            FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (statement_identifier "LAB_001a66e2") (: ":") (expression_statement "FUN_0017c650("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_0017c650("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";"))) (} "}"))) (} "}")))) (labeled_statement "LAB_001a634d:\n        uVar4 = uVar4 + plVar6[2];" (statement_identifier "LAB_001a634d") (: ":") (expression_statement "uVar4 = uVar4 + plVar6[2];" (assignment_expression "uVar4 = uVar4 + plVar6[2]" (identifier "uVar4") (= "=") (binary_expression "uVar4 + plVar6[2]" (identifier "uVar4") (+ "+") (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]")))) (; ";"))) (if_statement "if ((long)uVar12 < (long)uVar4) {\n          uVar12 = uVar4;\n        }" (if "if") (parenthesized_expression "((long)uVar12 < (long)uVar4)" (( "(") (binary_expression "(long)uVar12 < (long)uVar4" (cast_expression "(long)uVar12" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar12")) (< "<") (cast_expression "(long)uVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar4"))) () ")")) (compound_statement "{\n          uVar12 = uVar4;\n        }" ({ "{") (expression_statement "uVar12 = uVar4;" (assignment_expression "uVar12 = uVar4" (identifier "uVar12") (= "=") (identifier "uVar4")) (; ";")) (} "}"))) (if_statement "if (param_3 != 2) {\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }" (if "if") (parenthesized_expression "(param_3 != 2)" (( "(") (binary_expression "param_3 != 2" (identifier "param_3") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);\n        }" ({ "{") (expression_statement "FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);" (call_expression "FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0)" (identifier "FUN_0026e6a0") (argument_list "(param_1 + 0x10,plVar6[5],0,0)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) (, ",") (subscript_expression "plVar6[5]" (identifier "plVar6") ([ "[") (number_literal "5") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_001a6378:\n    plVar13 = plVar13 + 1;" (statement_identifier "LAB_001a6378") (: ":") (expression_statement "plVar13 = plVar13 + 1;" (assignment_expression "plVar13 = plVar13 + 1" (identifier "plVar13") (= "=") (binary_expression "plVar13 + 1" (identifier "plVar13") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (*(long **)(param_1 + 0x268) == plVar13) {\n      return uVar12;\n    }" (if "if") (parenthesized_expression "(*(long **)(param_1 + 0x268) == plVar13)" (( "(") (binary_expression "*(long **)(param_1 + 0x268) == plVar13" (pointer_expression "*(long **)(param_1 + 0x268)" (* "*") (cast_expression "(long **)(param_1 + 0x268)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x268)" (( "(") (binary_expression "param_1 + 0x268" (identifier "param_1") (+ "+") (number_literal "0x268")) () ")")))) (== "==") (identifier "plVar13")) () ")")) (compound_statement "{\n      return uVar12;\n    }" ({ "{") (return_statement "return uVar12;" (return "return") (identifier "uVar12") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: off_t set_section_offsets(Layout * this, off_t off, Section_offset_pass
   pass) */

type_1 __thiscall var_1::type_2::function_1(type_2 *this,type_1 off,type_3 var_7)

{
  type_4 var_6;
  type_1 var_20;
  type_5 *this_00;
  type_6 *var_16;
  bool bVar3;
  int iVar4;
  type_6 **pp_Var5;
  type_7 var_14;
  uint64_t var_23;
  type_8 extraout_var_00;
  type_8 extraout_var_01;
  type_8 extraout_var_02;
  char *pcVar9;
  type_8 extraout_var_03;
  type_8 extraout_var_04;
  type_8 extraout_var_05;
  type_8 extraout_var_06;
  type_1 startoff;
  char *pcVar10;
  type_9 *pOVar11;
  type_7 uVar12;
  type_10 var_4;
  type_9 *var_5;
  type_8 extraout_var;
  
  var_4 = (this->unattached_section_list_).
             super__Vector_base<var_1::type_9*,var_2::allocator<var_1::type_9*>var_3>.
             _M_impl._M_start;
  if ((this->unattached_section_list_).
      super__Vector_base<var_1::type_9*,var_2::allocator<var_1::type_9*>var_3>._M_impl.
      _M_finish == var_4) {
    return off;
  }
  uVar12 = off;
  var_14 = off;
LAB_001a6389:
  do {
    var_5 = *var_4;
    if ((var_5 != this->symtab_section_) &&
       ((var_6 = (var_5->super_Output_data).field_0x20, (var_6 & 4) == 0 || ((var_6 & 2) == 0)))) {
      if (var_7 == var_8) {
        if ((var_5->field_0xc8 & 0x20) != 0) {
          Output_section::var_9(var_5);
          this->any_postprocessing_sections_ = true;
          var_5 = *var_4;
        }
        if ((var_5->field_0xc8 & 0x10) == 0) goto LAB_001a62c2;
      }
      else {
        if (var_7 == var_10) {
          if (((var_5->field_0xc8 & 0x10) == 0) || (var_5->type_ == 3)) goto LAB_001a6378;
          bVar3 = Parameters::var_11(parameters);
          if (!bVar3) goto LAB_001a62d6;
LAB_001a63d5:
          var_5 = *var_4;
          pp_Var5 = (var_5->super_Output_data)._vptr_Output_data;
          if (((var_5->super_Output_data).field_0x20 & 2) == 0) {
            (*pp_Var5[0xd])();
            var_5 = *var_4;
            pp_Var5 = (var_5->super_Output_data)._vptr_Output_data;
          }
          var_20 = (var_5->super_Output_data).data_size_;
          if (pp_Var5[3] == type_9::do_addralign) {
            var_23 = var_5->addralign_;
          }
          else {
            iVar4 = (*pp_Var5[3])();
            var_23 = var_12(extraout_var_00,iVar4);
          }
          var_14 = Free_list::var_13(&this->free_list_,var_20,var_23,off);
          if (var_14 == 0xffffffffffffffff) {
            if ((parameters->options_ != (type_11 *)0x0) &&
               ((parameters->debug_ & 0x10) != 0)) {
              Free_list::var_15(&this->free_list_);
            }
            var_5 = *var_4;
            var_16 = (var_5->super_Output_data)._vptr_Output_data[9];
            if (var_16 != type_9::do_output_section) {
              iVar4 = (*var_16)(var_5);
              var_5 = (type_9 *)var_12(extraout_var_04,iVar4);
            }
            if (var_5 == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
              var_17("../../gold/layout.cc",0x1081,"set_section_offsets");
            }
            var_5 = *var_4;
            var_16 = (var_5->super_Output_data)._vptr_Output_data[9];
            if (var_16 != type_9::do_output_section) {
              iVar4 = (*var_16)(var_5);
              var_5 = (type_9 *)var_12(extraout_var_05,iVar4);
            }
            pcVar10 = var_5->name_;
            pcVar9 = (char *)var_18(
                                    "out of patch space for section %s; relink with --incremental-full"
                                    );
                    /* WARNING: Subroutine does not return */
            var_19(pcVar9,pcVar10);
          }
          var_5 = *var_4;
          var_6 = (var_5->super_Output_data).field_0x20;
          if ((var_6 & 4) != 0) {
LAB_001a66fa:
                    /* WARNING: Subroutine does not return */
            var_17("../../gold/output.h",0x14b,"set_file_offset");
          }
          (var_5->super_Output_data).offset_ = var_14;
          (var_5->super_Output_data).field_0x20 = var_6 | 4;
          if ((var_6 & 2) == 0) {
            (*(var_5->super_Output_data)._vptr_Output_data[0xe])(var_5);
            if (((var_5->super_Output_data).field_0x20 & 2) == 0) {
LAB_001a6712:
                    /* WARNING: Subroutine does not return */
              var_17("../../gold/output.h",0x163,"finalize_data_size");
            }
            var_5 = *var_4;
            if (((var_5->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;
          }
          if (var_20 < (var_5->super_Output_data).data_size_) {
            var_16 = (var_5->super_Output_data)._vptr_Output_data[9];
            if ((var_16 != type_9::do_output_section) &&
               (iVar4 = (*var_16)(var_5), var_12(extraout_var_03,iVar4) == 0)) {
                    /* WARNING: Subroutine does not return */
              var_17("../../gold/layout.cc",0x108a,"set_section_offsets");
            }
            var_5 = *var_4;
            var_16 = (var_5->super_Output_data)._vptr_Output_data[9];
            if (var_16 != type_9::do_output_section) {
              iVar4 = (*var_16)(var_5);
              var_5 = (type_9 *)var_12(extraout_var_06,iVar4);
            }
            pcVar10 = var_5->name_;
            pcVar9 = (char *)var_18("%s: section changed size; relink with --incremental-full");
                    /* WARNING: Subroutine does not return */
            var_19(pcVar9,pcVar10);
          }
          if ((parameters->options_ != (type_11 *)0x0) && ((parameters->debug_ & 0x10) != 0)
             ) {
            this_00 = parameters->errors_;
            var_16 = (var_5->super_Output_data)._vptr_Output_data[9];
            if (var_16 == type_9::do_output_section) {
LAB_001a64bf:
              var_16 = (var_5->super_Output_data)._vptr_Output_data[9];
              pOVar11 = var_5;
              if (var_16 != type_9::do_output_section) {
                iVar4 = (*var_16)(var_5);
                var_5 = (type_9 *)var_12(extraout_var_02,iVar4);
                pOVar11 = *var_4;
              }
              pcVar10 = var_5->name_;
            }
            else {
              iVar4 = (*var_16)(var_5);
              pOVar11 = *var_4;
              var_5 = pOVar11;
              if (var_12(extraout_var_01,iVar4) != 0) goto LAB_001a64bf;
              pcVar10 = "(special)";
            }
            if (((pOVar11->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a66e2;
            Errors::var_21(this_00,"set_section_offsets: %08lx %08lx %s",var_14,
                          (pOVar11->super_Output_data).data_size_,pcVar10);
            goto LAB_001a633e;
          }
        }
        else {
          if (var_7 == var_22) {
            if ((var_5->field_0xc8 & 0x10) == 0) goto LAB_001a6378;
            if (var_5->type_ != 3) {
              var_4 = var_4 + 1;
              if ((this->unattached_section_list_).
                  super__Vector_base<var_1::type_9*,var_2::allocator<var_1::type_9*>var_3>.
                  _M_impl._M_finish == var_4) {
                return uVar12;
              }
              goto LAB_001a6389;
            }
          }
LAB_001a62c2:
          bVar3 = Parameters::var_11(parameters);
          if (bVar3) goto LAB_001a63d5;
LAB_001a62d6:
          var_5 = *var_4;
          var_16 = (var_5->super_Output_data)._vptr_Output_data[3];
          if (var_16 == type_9::do_addralign) {
            var_23 = var_5->addralign_;
          }
          else {
            iVar4 = (*var_16)(var_5);
            var_23 = var_12(extraout_var,iVar4);
            var_5 = *var_4;
          }
          if (var_23 != 0) {
            var_14 = (var_14 - 1) + var_23 & -var_23;
          }
          var_6 = (var_5->super_Output_data).field_0x20;
          if ((var_6 & 4) != 0) goto LAB_001a66fa;
          (var_5->super_Output_data).offset_ = var_14;
          (var_5->super_Output_data).field_0x20 = var_6 | 4;
          if ((var_6 & 2) != 0) goto LAB_001a634d;
          (*(var_5->super_Output_data)._vptr_Output_data[0xe])(var_5);
          if (((var_5->super_Output_data).field_0x20 & 2) == 0) goto LAB_001a6712;
LAB_001a633e:
          var_5 = *var_4;
          if (((var_5->super_Output_data).field_0x20 & 2) == 0) {
LAB_001a66e2:
                    /* WARNING: Subroutine does not return */
            var_17("../../gold/output.h",0xcf,"data_size");
          }
        }
LAB_001a634d:
        var_14 = var_14 + (var_5->super_Output_data).data_size_;
        if ((long)uVar12 < (long)var_14) {
          uVar12 = var_14;
        }
        if (var_7 != var_22) {
          var_24<var_25>::var_26(&this->namepool_,var_5->name_,false,(type_12 *)0x0);
        }
      }
    }
LAB_001a6378:
    var_4 = var_4 + 1;
    if ((this->unattached_section_list_).
        super__Vector_base<var_1::type_9*,var_2::allocator<var_1::type_9*>var_3>._M_impl.
        _M_finish == var_4) {
      return uVar12;
    }
  } while( true );
}


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

ulong MASKED(long param_1,ulong param_2,int param_3)

{
  byte bVar1;
  long lVar2;
  char cVar3;
  ulong uVar4;
  long lVar5;
  long *plVar6;
  undefined8 uVar7;
  long *plVar8;
  code *extraout_RDX;
  code *pcVar9;
  code *pcVar10;
  char *pcVar11;
  ulong uVar12;
  long *plVar13;
  
  plVar13 = *(long **)(param_1 + 0x260);
  if (*(long **)(param_1 + 0x268) == plVar13) {
    return param_2;
  }
  uVar12 = param_2;
  uVar4 = param_2;
LAB_001a6389:
  do {
    lVar5 = *plVar13;
    if ((lVar5 != *(long *)(param_1 + 0x2d0)) &&
       (((*(byte *)(lVar5 + 0x20) & 4) == 0 || ((*(byte *)(lVar5 + 0x20) & 2) == 0)))) {
      if (param_3 == 0) {
        if ((*(byte *)(lVar5 + 200) & 0x20) != 0) {
          FUN_001f6900();
          *(undefined1 *)(param_1 + 0x36e) = 1;
          lVar5 = *plVar13;
        }
        if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a62c2;
      }
      else {
        if (param_3 == 1) {
          if (((*(byte *)(lVar5 + 200) & 0x10) == 0) || (*(int *)(lVar5 + 0x6c) == 3))
          goto LAB_001a6378;
          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);
          if (cVar3 == '\0') goto LAB_001a62d6;
LAB_001a63d5:
          plVar6 = (long *)*plVar13;
          lVar5 = *plVar6;
          if ((*(byte *)(plVar6 + 4) & 2) == 0) {
            (**(code **)(lVar5 + 0x68))();
            plVar6 = (long *)*plVar13;
            lVar5 = *plVar6;
          }
          lVar2 = plVar6[2];
          if (*(code **)(lVar5 + 0x18) == FUN_001b0fc0) {
            lVar5 = plVar6[6];
          }
          else {
            lVar5 = (**(code **)(lVar5 + 0x18))();
          }
          plVar6 = (long *)(param_1 + 0x468);
          uVar4 = FUN_001a4800(plVar6,lVar2,lVar5,param_2);
          if (uVar4 == 0xffffffffffffffff) goto LAB_001a6622;
          plVar6 = (long *)*plVar13;
          bVar1 = *(byte *)(plVar6 + 4);
          if ((bVar1 & 4) != 0) {
LAB_001a66fa:
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/output.h",0x14b,"set_file_offset");
          }
          plVar6[3] = uVar4;
          *(byte *)(plVar6 + 4) = bVar1 | 4;
          if ((bVar1 & 2) == 0) {
            (**(code **)(*plVar6 + 0x70))(plVar6);
            if ((*(byte *)(plVar6 + 4) & 2) == 0) {
LAB_001a6712:
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/output.h",0x163,"finalize_data_size");
            }
            plVar6 = (long *)*plVar13;
            if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a66e2;
          }
          if (lVar2 < plVar6[2]) {
            pcVar10 = FUN_001b0fb0;
            pcVar9 = *(code **)(*plVar6 + 0x48);
            if (pcVar9 != FUN_001b0fb0) goto LAB_001a6688;
            do {
              plVar8 = (long *)*plVar13;
              if (*(code **)(*plVar8 + 0x48) != pcVar10) {
                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);
              }
              lVar5 = plVar8[5];
              uVar7 = gettext("%s: section changed size; relink with --incremental-full");
              FUN_00178280(uVar7,lVar5);
LAB_001a6622:
              if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) &&
                 ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {
                FUN_001a4a20(plVar6);
              }
              plVar8 = (long *)*plVar13;
              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {
                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);
              }
              if (plVar8 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/layout.cc",0x1081,"set_section_offsets");
              }
              plVar8 = (long *)*plVar13;
              if (*(code **)(*plVar8 + 0x48) != FUN_001b0fb0) {
                plVar8 = (long *)(**(code **)(*plVar8 + 0x48))(plVar8);
              }
              pcVar10 = (code *)plVar8[5];
              uVar7 = gettext("out of patch space for section %s; relink with --incremental-full");
              FUN_00178280(uVar7,pcVar10);
              pcVar9 = extraout_RDX;
LAB_001a6688:
              lVar5 = (*pcVar9)(plVar6);
            } while (lVar5 != 0);
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/layout.cc",0x108a,"set_section_offsets");
          }
          if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {
            uVar7 = *(undefined8 *)PTR_DAT_0043e6b0;
            if (*(code **)(*plVar6 + 0x48) == FUN_001b0fb0) {
LAB_001a64bf:
              plVar8 = plVar6;
              if (*(code **)(*plVar6 + 0x48) != FUN_001b0fb0) {
                plVar6 = (long *)(**(code **)(*plVar6 + 0x48))(plVar6);
                plVar8 = (long *)*plVar13;
              }
              pcVar11 = (char *)plVar6[5];
            }
            else {
              lVar5 = (**(code **)(*plVar6 + 0x48))(plVar6);
              plVar8 = (long *)*plVar13;
              plVar6 = plVar8;
              if (lVar5 != 0) goto LAB_001a64bf;
              pcVar11 = "(special)";
            }
            if ((*(byte *)(plVar8 + 4) & 2) == 0) goto LAB_001a66e2;
            FUN_00178100(uVar7,"set_section_offsets: %08lx %08lx %s",uVar4,plVar8[2],pcVar11);
            goto LAB_001a633e;
          }
        }
        else {
          if (param_3 == 2) {
            if ((*(byte *)(lVar5 + 200) & 0x10) == 0) goto LAB_001a6378;
            if (*(int *)(lVar5 + 0x6c) != 3) {
              plVar13 = plVar13 + 1;
              if (*(long **)(param_1 + 0x268) == plVar13) {
                return uVar12;
              }
              goto LAB_001a6389;
            }
          }
LAB_001a62c2:
          cVar3 = FUN_002379c0(PTR_DAT_0043e6b0);
          if (cVar3 != '\0') goto LAB_001a63d5;
LAB_001a62d6:
          plVar6 = (long *)*plVar13;
          if (*(code **)(*plVar6 + 0x18) == FUN_001b0fc0) {
            lVar5 = plVar6[6];
          }
          else {
            lVar5 = (**(code **)(*plVar6 + 0x18))(plVar6);
            plVar6 = (long *)*plVar13;
          }
          if (lVar5 != 0) {
            uVar4 = (uVar4 - 1) + lVar5 & -lVar5;
          }
          bVar1 = *(byte *)(plVar6 + 4);
          if ((bVar1 & 4) != 0) goto LAB_001a66fa;
          plVar6[3] = uVar4;
          *(byte *)(plVar6 + 4) = bVar1 | 4;
          if ((bVar1 & 2) != 0) goto LAB_001a634d;
          (**(code **)(*plVar6 + 0x70))(plVar6);
          if ((*(byte *)(plVar6 + 4) & 2) == 0) goto LAB_001a6712;
LAB_001a633e:
          plVar6 = (long *)*plVar13;
          if ((*(byte *)(plVar6 + 4) & 2) == 0) {
LAB_001a66e2:
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/output.h",0xcf,"data_size");
          }
        }
LAB_001a634d:
        uVar4 = uVar4 + plVar6[2];
        if ((long)uVar12 < (long)uVar4) {
          uVar12 = uVar4;
        }
        if (param_3 != 2) {
          FUN_0026e6a0(param_1 + 0x10,plVar6[5],0,0);
        }
      }
    }
LAB_001a6378:
    plVar13 = plVar13 + 1;
    if (*(long **)(param_1 + 0x268) == plVar13) {
      return uVar12;
    }
  } while( true );
}

