
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_process_got_plt(Sized_incremental_binary<32,_false> * this,
   Symbol_table * symtab, Layout * layout) */

void __thiscall
gold::Sized_incremental_binary<32,_false>::do_process_got_plt
          (Sized_incremental_binary<32,_false> *this,Symbol_table *symtab,Layout *layout)

{
  byte bVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uchar *puVar5;
  uchar *puVar6;
  uint *puVar7;
  Target *pTVar8;
  long lVar9;
  pointer ppSVar10;
  Sized_relobj_incr<32,_false> *pSVar11;
  Symbol *pSVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  long lVar16;
  undefined4 extraout_var;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  ulong uVar20;
  ulong uVar21;
  uint uVar22;
  ulong uVar23;
  
  puVar5 = (this->got_plt_reader_).p_;
  puVar6 = (this->got_plt_reader_).got_desc_p_;
  uVar22 = (this->got_plt_reader_).got_count_;
  puVar7 = (uint *)(this->got_plt_reader_).plt_desc_p_;
  pTVar8 = parameters->target_;
  if (pTVar8 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");
  }
  lVar9 = (this->main_symtab_loc_).data_size;
  lVar16 = lVar9 + 0xf;
  if (-1 < lVar9) {
    lVar16 = lVar9;
  }
  lVar9 = (this->symtab_reader_).len_;
  uVar17 = (uint)(lVar16 >> 4);
  lVar16 = lVar9 + 3;
  if (-1 < lVar9) {
    lVar16 = lVar9;
  }
  uVar23 = 0;
  iVar14 = (int)(lVar16 >> 2);
  uVar18 = uVar17 - iVar14;
  uVar2 = *(uint *)(puVar5 + 4);
  iVar15 = (*pTVar8->_vptr_Target[0x36])(pTVar8,symtab,layout,(ulong)uVar22,(ulong)uVar2);
  if (uVar22 != 0) {
    do {
      while( true ) {
        iVar13 = (int)uVar23;
        bVar1 = puVar5[iVar13 + 8];
        uVar19 = bVar1 & 0x7f;
        if ((char)uVar19 != '\x7f') break;
        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))
                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);
LAB_001a34de:
        uVar23 = (ulong)(iVar13 + 1U);
        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;
      }
      uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));
      if (-1 < (char)bVar1) {
        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");
        }
        pSVar12 = (this->symbol_map_).
                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start
                  [(iVar14 - uVar17) + uVar3];
        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {
          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)
             ) {
            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,
                          pSVar12->name_);
          }
          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);
        }
        goto LAB_001a34de;
      }
      uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);
      uVar20 = (ulong)uVar19;
      if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {
        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);
        uVar20 = (ulong)(uint)bVar1 & 0x7f;
      }
      uVar21 = (ulong)uVar4;
      ppSVar10 = (this->input_objects_).
                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>
                 ._M_impl._M_start;
      if ((ulong)((long)(this->input_objects_).
                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>
                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");
      }
      pSVar11 = ppSVar10[uVar21];
      if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;
      (*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);
      uVar23 = (ulong)(iVar13 + 1U);
    } while (uVar22 != iVar13 + 1U);
  }
LAB_001a35be:
  if (uVar2 == 0) {
    return;
  }
  uVar22 = *puVar7;
  if ((uVar18 <= uVar22) && (uVar22 < uVar17)) {
    uVar23 = 0;
    do {
      pSVar12 = (this->symbol_map_).
                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start
                [uVar22 + (iVar14 - uVar17)];
      if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {
        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))
        {
          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);
        }
        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);
      }
      uVar22 = (int)uVar23 + 1;
      uVar23 = (ulong)uVar22;
      if (uVar22 == uVar2) {
        return;
      }
      uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));
    } while ((uVar18 <= uVar22) && (uVar22 < uVar17));
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/incremental.cc",700,"do_process_got_plt");
}



void FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)

{
  byte bVar1;
  int iVar2;
  uint uVar3;
  long lVar4;
  long lVar5;
  uint *puVar6;
  long *plVar7;
  long lVar8;
  undefined8 *puVar9;
  int iVar10;
  uint uVar11;
  long lVar12;
  long *plVar13;
  uint uVar14;
  uint uVar15;
  ulong uVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  
  lVar4 = *(long *)(param_1 + 0x140);
  lVar5 = *(long *)(param_1 + 0x150);
  iVar19 = *(int *)(param_1 + 0x148);
  puVar6 = *(uint **)(param_1 + 0x158);
  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);
  if (plVar7 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");
  }
  lVar8 = *(long *)(param_1 + 0xe0);
  lVar12 = lVar8 + 0xf;
  if (-1 < lVar8) {
    lVar12 = lVar8;
  }
  lVar8 = *(long *)(param_1 + 0x128);
  uVar14 = (uint)(lVar12 >> 4);
  lVar12 = lVar8 + 3;
  if (-1 < lVar8) {
    lVar12 = lVar8;
  }
  iVar17 = 0;
  iVar10 = (int)(lVar12 >> 2);
  uVar15 = uVar14 - iVar10;
  iVar2 = *(int *)(lVar4 + 4);
  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);
  if (iVar19 != 0) {
    do {
      while( true ) {
        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));
        if ((bVar1 & 0x7f) != 0x7f) break;
        (**(code **)(*plVar13 + 200))(plVar13,iVar17);
LAB_001a34de:
        iVar17 = iVar17 + 1;
        if (iVar19 == iVar17) goto LAB_001a35be;
      }
      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));
      if (-1 < (char)bVar1) {
        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");
        }
        puVar9 = *(undefined8 **)
                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);
        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {
          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {
            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,
                         *puVar9);
          }
          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);
        }
        goto LAB_001a34de;
      }
      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));
      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {
        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",
                     iVar17,bVar1 & 0x7f);
      }
      uVar16 = (ulong)uVar3;
      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {
                    /* WARNING: Subroutine does not return */
        FUN_00199900("../../gold/incremental.h",0x654,"input_object");
      }
      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);
      if (lVar8 == 0) goto LAB_001a34de;
      iVar18 = iVar17 + 1;
      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);
      iVar17 = iVar18;
    } while (iVar19 != iVar18);
  }
LAB_001a35be:
  if (iVar2 == 0) {
    return;
  }
  uVar11 = *puVar6;
  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {
    iVar19 = 0;
    do {
      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)
      ;
      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {
        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {
          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);
        }
        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);
      }
      iVar19 = iVar19 + 1;
      if (iVar19 == iVar2) {
        return;
      }
      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));
    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));
  }
                    /* WARNING: Subroutine does not return */
  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x68
MOV RAX,qword ptr [RDI + 0x140]
MOV R13,qword ptr [RDI + 0x150]
MOV qword ptr [RSP + 0x18],RSI
MOV qword ptr [RSP + 0x30],RAX
MOV EAX,dword ptr [RDI + 0x148]
MOV qword ptr [RSP + 0x20],RDX
MOV dword ptr [RSP + 0x40],EAX
MOV RAX,qword ptr [RDI + 0x158]
MOV qword ptr [RSP + 0x48],RAX
MOV RAX,qword ptr [0x003f85c0]
MOV RBX,qword ptr [RAX + 0x18]
TEST RBX,RBX
JZ 0x001a3716
MOV RDX,qword ptr [RDI + 0xe0]
MOV R12,RDI
MOV ECX,dword ptr [RSP + 0x40]
MOV RSI,qword ptr [RSP + 0x18]
TEST RDX,RDX
LEA RAX,[RDX + 0xf]
CMOVNS RAX,RDX
MOV RDX,qword ptr [R12 + 0x128]
SAR RAX,0x4
TEST RDX,RDX
MOV RDI,RAX
MOV qword ptr [RSP + 0x50],RAX
MOV EBP,EAX
LEA RAX,[RDX + 0x3]
CMOVNS RAX,RDX
MOV RDX,qword ptr [RSP + 0x20]
XOR R14D,R14D
SAR RAX,0x2
SUB EDI,EAX
MOV qword ptr [RSP + 0x58],RAX
MOV R15D,EAX
MOV RAX,qword ptr [RSP + 0x30]
MOV dword ptr [RSP + 0x8],EDI
MOV RDI,RBX
SUB R15D,EBP
MOV EAX,dword ptr [RAX + 0x4]
MOV R8D,EAX
MOV dword ptr [RSP + 0xc],EAX
MOV RAX,qword ptr [RBX]
CALL qword ptr [RAX + 0x1b0]
MOV EDX,dword ptr [RSP + 0x40]
MOV dword ptr [RSP + 0x10],R15D
MOV qword ptr [RSP + 0x28],RAX
TEST EDX,EDX
JZ 0x001a35be
MOV R15D,dword ptr [RSP + 0x40]
MOV dword ptr [RSP + 0x40],EBP
MOV RBP,RBX
MOV RBX,qword ptr [RSP + 0x30]
JMP 0x001a34eb
CMP dword ptr [RSP + 0x8],R11D
JA 0x001a36e6
CMP dword ptr [RSP + 0x40],R11D
JBE 0x001a36e6
MOV EAX,dword ptr [RSP + 0x10]
LEA EDX,[RAX + R11*0x1]
MOV RAX,qword ptr [R12 + 0xa8]
MOV R11,qword ptr [RAX + RDX*0x8]
TEST R11,R11
JZ 0x001a34de
CMP byte ptr [R11 + 0x3a],0x0
JNS 0x001a34de
MOV RAX,qword ptr [0x003f85c0]
CMP qword ptr [RAX + 0x10],0x0
JZ 0x001a34c8
TEST byte ptr [RAX + 0x24],0x10
JZ 0x001a34c8
MOV R8,qword ptr [R11]
MOV RDI,qword ptr [RAX]
MOV ECX,R9D
MOV EDX,R14D
LEA RSI,[0x3408f0]
XOR EAX,EAX
MOV qword ptr [RSP + 0x38],R11
MOV dword ptr [RSP + 0x30],R9D
CALL 0x00191650
MOV R11,qword ptr [RSP + 0x38]
MOV R9D,dword ptr [RSP + 0x30]
MOV RAX,qword ptr [RBP]
MOV ECX,R9D
MOV RDX,R11
MOV ESI,R14D
MOV RDI,RBP
CALL qword ptr [RAX + 0x1c0]
ADD R14D,0x1
CMP R15D,R14D
JZ 0x001a35b7
LEA EAX,[R14 + 0x8]
MOVZX R9D,byte ptr [RBX + RAX*0x1]
MOV R8D,R9D
AND R8D,0x7f
CMP R8B,0x7f
JZ 0x001a36b8
LEA EAX,[R14*0x8]
MOV R11D,dword ptr [R13 + RAX*0x1]
TEST R9B,R9B
JNS 0x001a3450
MOV R9D,dword ptr [R13 + RAX*0x1 + 0x4]
MOV RAX,qword ptr [0x003f85c0]
MOVZX R8D,R8B
CMP qword ptr [RAX + 0x10],0x0
JZ 0x001a356d
TEST byte ptr [RAX + 0x24],0x10
JZ 0x001a356d
MOV RDI,qword ptr [RAX]
MOV ECX,R8D
MOV EDX,R14D
LEA RSI,[0x3408c8]
XOR EAX,EAX
MOV dword ptr [RSP + 0x44],R9D
MOV dword ptr [RSP + 0x38],R11D
MOV dword ptr [RSP + 0x30],R8D
CALL 0x00191650
MOV R9D,dword ptr [RSP + 0x44]
MOV R11D,dword ptr [RSP + 0x38]
MOV R8D,dword ptr [RSP + 0x30]
MOV RDX,qword ptr [R12 + 0x78]
MOV RAX,qword ptr [R12 + 0x80]
SUB RAX,RDX
SAR RAX,0x3
CMP R9,RAX
JNC 0x001a36fe
MOV RDX,qword ptr [RDX + R9*0x8]
TEST RDX,RDX
JZ 0x001a34de
MOV RAX,qword ptr [RBP]
MOV ESI,R14D
ADD R14D,0x1
MOV ECX,R11D
MOV RDI,RBP
CALL qword ptr [RAX + 0x1b8]
CMP R15D,R14D
JNZ 0x001a34eb
MOV RBX,RBP
MOV EBP,dword ptr [RSP + 0x40]
MOV EAX,dword ptr [RSP + 0xc]
TEST EAX,EAX
JZ 0x001a36a4
MOV RAX,qword ptr [RSP + 0x48]
MOV EAX,dword ptr [RAX]
CMP dword ptr [RSP + 0x8],EAX
JA 0x001a36ce
CMP EAX,dword ptr [RSP + 0x50]
JNC 0x001a36ce
MOV R15D,dword ptr [RSP + 0x58]
SUB R15D,dword ptr [RSP + 0x50]
MOV dword ptr [RSP + 0x40],EBP
XOR R14D,R14D
MOV EDI,R15D
LEA R13,[0x34090c]
MOV R15,RBX
MOV RBP,qword ptr [RSP + 0x48]
MOV EBX,EDI
JMP 0x001a3630
LEA EAX,[R14*0x4]
MOV EAX,dword ptr [RBP + RAX*0x1]
CMP dword ptr [RSP + 0x8],EAX
JA 0x001a36ce
CMP dword ptr [RSP + 0x40],EAX
JBE 0x001a36ce
LEA EDX,[RAX + RBX*0x1]
MOV RAX,qword ptr [R12 + 0xa8]
MOV R8,qword ptr [RAX + RDX*0x8]
TEST R8,R8
JZ 0x001a3695
CMP byte ptr [R8 + 0x3a],0x0
JNS 0x001a3695
MOV RAX,qword ptr [0x003f85c0]
CMP qword ptr [RAX + 0x10],0x0
JZ 0x001a367c
TEST byte ptr [RAX + 0x24],0x10
JZ 0x001a367c
MOV RCX,qword ptr [R8]
MOV RDI,qword ptr [RAX]
MOV EDX,R14D
MOV RSI,R13
XOR EAX,EAX
MOV qword ptr [RSP + 0x10],R8
CALL 0x00191650
MOV R8,qword ptr [RSP + 0x10]
MOV RAX,qword ptr [R15]
MOV ECX,R14D
MOV RDX,qword ptr [RSP + 0x20]
MOV RDI,R15
MOV RSI,qword ptr [RSP + 0x18]
CALL qword ptr [RAX + 0x1c8]
ADD R14D,0x1
CMP R14D,dword ptr [RSP + 0xc]
JNZ 0x001a3610
ADD RSP,0x68
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RDI,qword ptr [RSP + 0x28]
MOV ESI,R14D
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0xc8]
JMP 0x001a34de
LEA RDX,[0x341990]
MOV ESI,0x2bc
LEA RDI,[0x340864]
CALL 0x00199900
LEA RDX,[0x341990]
MOV ESI,0x2aa
LEA RDI,[0x340864]
CALL 0x00199900
LEA RDX,[0x341a60]
MOV ESI,0x654
LEA RDI,[0x34087e]
CALL 0x00199900
LEA RDX,[0x341d60]
MOV ESI,0x73
LEA RDI,[0x333279]
CALL 0x00199900
(translation_unit "void FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}\n\n" (function_definition "void FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}" primitive_type (function_declarator "FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (expression_statement "lVar4 = *(long *)(param_1 + 0x140);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x140)" identifier = (pointer_expression "*(long *)(param_1 + 0x140)" * (cast_expression "(long *)(param_1 + 0x140)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x140)" ( (binary_expression "param_1 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = *(long *)(param_1 + 0x150);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x150)" identifier = (pointer_expression "*(long *)(param_1 + 0x150)" * (cast_expression "(long *)(param_1 + 0x150)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(param_1 + 0x148);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x148)" identifier = (pointer_expression "*(int *)(param_1 + 0x148)" * (cast_expression "(int *)(param_1 + 0x148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x148)" ( (binary_expression "param_1 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = *(uint **)(param_1 + 0x158);" (assignment_expression "puVar6 = *(uint **)(param_1 + 0x158)" identifier = (pointer_expression "*(uint **)(param_1 + 0x158)" * (cast_expression "(uint **)(param_1 + 0x158)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x158)" ( (binary_expression "param_1 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);" (assignment_expression "plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar7 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }" if (parenthesized_expression "(plVar7 == (long *)0x0)" ( (binary_expression "plVar7 == (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_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }" { comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "lVar8 = *(long *)(param_1 + 0xe0);" (assignment_expression "lVar8 = *(long *)(param_1 + 0xe0)" identifier = (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "lVar12 = lVar8 + 0xf;" (assignment_expression "lVar12 = lVar8 + 0xf" identifier = (binary_expression "lVar8 + 0xf" identifier + number_literal)) ;) (if_statement "if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }" if (parenthesized_expression "(-1 < lVar8)" ( (binary_expression "-1 < lVar8" number_literal < identifier) )) (compound_statement "{\n    lVar12 = lVar8;\n  }" { (expression_statement "lVar12 = lVar8;" (assignment_expression "lVar12 = lVar8" identifier = identifier) ;) })) (expression_statement "lVar8 = *(long *)(param_1 + 0x128);" (assignment_expression "lVar8 = *(long *)(param_1 + 0x128)" identifier = (pointer_expression "*(long *)(param_1 + 0x128)" * (cast_expression "(long *)(param_1 + 0x128)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = (uint)(lVar12 >> 4);" (assignment_expression "uVar14 = (uint)(lVar12 >> 4)" identifier = (call_expression "(uint)(lVar12 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar12 >> 4)" ( (binary_expression "lVar12 >> 4" identifier >> number_literal) )))) ;) (expression_statement "lVar12 = lVar8 + 3;" (assignment_expression "lVar12 = lVar8 + 3" identifier = (binary_expression "lVar8 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }" if (parenthesized_expression "(-1 < lVar8)" ( (binary_expression "-1 < lVar8" number_literal < identifier) )) (compound_statement "{\n    lVar12 = lVar8;\n  }" { (expression_statement "lVar12 = lVar8;" (assignment_expression "lVar12 = lVar8" identifier = identifier) ;) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = (int)(lVar12 >> 2);" (assignment_expression "iVar10 = (int)(lVar12 >> 2)" identifier = (cast_expression "(int)(lVar12 >> 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(lVar12 >> 2)" ( (binary_expression "lVar12 >> 2" identifier >> number_literal) )))) ;) (expression_statement "uVar15 = uVar14 - iVar10;" (assignment_expression "uVar15 = uVar14 - iVar10" identifier = (binary_expression "uVar14 - iVar10" identifier - identifier)) ;) (expression_statement "iVar2 = *(int *)(lVar4 + 4);" (assignment_expression "iVar2 = *(int *)(lVar4 + 4)" identifier = (pointer_expression "*(int *)(lVar4 + 4)" * (cast_expression "(int *)(lVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 4)" ( (binary_expression "lVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);" (assignment_expression "plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" identifier = (cast_expression "(long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1b0))" ( (pointer_expression "**(code **)(*plVar7 + 0x1b0)" * (pointer_expression "*(code **)(*plVar7 + 0x1b0)" * (cast_expression "(code **)(*plVar7 + 0x1b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1b0)" ( (binary_expression "*plVar7 + 0x1b0" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,param_2,param_3,iVar19,iVar2)" ( identifier , identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }" { (do_statement "do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);" do (compound_statement "{\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    }" { (while_statement "while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }" { (expression_statement "bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));" (assignment_expression "bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8))" identifier = (pointer_expression "*(byte *)(lVar4 + (ulong)(iVar17 + 8))" * (cast_expression "(byte *)(lVar4 + (ulong)(iVar17 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + (ulong)(iVar17 + 8))" ( (binary_expression "lVar4 + (ulong)(iVar17 + 8)" identifier + (call_expression "(ulong)(iVar17 + 8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) )))) ))))) ;) (if_statement "if ((bVar1 & 0x7f) != 0x7f) break;" if (parenthesized_expression "((bVar1 & 0x7f) != 0x7f)" ( (binary_expression "(bVar1 & 0x7f) != 0x7f" (parenthesized_expression "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(*plVar13 + 200))(plVar13,iVar17);" (call_expression "(**(code **)(*plVar13 + 200))(plVar13,iVar17)" (parenthesized_expression "(**(code **)(*plVar13 + 200))" ( (pointer_expression "**(code **)(*plVar13 + 200)" * (pointer_expression "*(code **)(*plVar13 + 200)" * (cast_expression "(code **)(*plVar13 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar13 + 200)" ( (binary_expression "*plVar13 + 200" (pointer_expression "*plVar13" * identifier) + number_literal) ))))) )) (argument_list "(plVar13,iVar17)" ( identifier , identifier ))) ;) (labeled_statement "LAB_001a34de:\n        iVar17 = iVar17 + 1;" statement_identifier : (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar19 == iVar17) goto LAB_001a35be;" if (parenthesized_expression "(iVar19 == iVar17)" ( (binary_expression "iVar19 == iVar17" identifier == identifier) )) (goto_statement "goto LAB_001a35be;" goto statement_identifier ;)) })) (expression_statement "uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));" (assignment_expression "uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" identifier = (pointer_expression "*(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" * (cast_expression "(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + (ulong)(uint)(iVar17 * 8))" ( (binary_expression "lVar5 + (ulong)(uint)(iVar17 * 8)" identifier + (call_expression "(ulong)(uint)(iVar17 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar17 * 8)" ( (binary_expression "iVar17 * 8" identifier * number_literal) )))) ))))) ;) (if_statement "if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }" if (parenthesized_expression "(-1 < (char)bVar1)" ( (binary_expression "-1 < (char)bVar1" number_literal < (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }" { (if_statement "if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" if (parenthesized_expression "((uVar11 < uVar15) || (uVar14 <= uVar11))" ( (binary_expression "(uVar11 < uVar15) || (uVar14 <= uVar11)" (parenthesized_expression "(uVar11 < uVar15)" ( (binary_expression "uVar11 < uVar15" identifier < identifier) )) || (parenthesized_expression "(uVar14 <= uVar11)" ( (binary_expression "uVar14 <= uVar11" identifier <= identifier) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" { comment (expression_statement "FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");" (call_expression "FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" identifier (argument_list "("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""do_process_got_plt"" " string_content ") ))) ;) })) (expression_statement "puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);" (assignment_expression "puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" identifier = (pointer_expression "*(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" * (cast_expression "(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" ( (binary_expression "*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8" (pointer_expression "*(long *)(param_1 + 0xa8)" * (cast_expression "(long *)(param_1 + 0xa8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) + (binary_expression "(ulong)((iVar10 - uVar14) + uVar11) * 8" (call_expression "(ulong)((iVar10 - uVar14) + uVar11)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((iVar10 - uVar14) + uVar11)" ( (binary_expression "(iVar10 - uVar14) + uVar11" (parenthesized_expression "(iVar10 - uVar14)" ( (binary_expression "iVar10 - uVar14" identifier - identifier) )) + identifier) ))) * number_literal)) ))))) ;) (if_statement "if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }" if (parenthesized_expression "((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0'))" ( (binary_expression "(puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')" (parenthesized_expression "(puVar9 != (undefined8 *)0x0)" ( (binary_expression "puVar9 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)((long)puVar9 + 0x3a) < '\0')" ( (binary_expression "*(char *)((long)puVar9 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar9 + 0x3a)" * (cast_expression "(char *)((long)puVar9 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 0x3a)" ( (binary_expression "(long)puVar9 + 0x3a" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }" { (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }" if (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }" { (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9)" identifier (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9)" ( (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" * (cast_expression "(undefined8 *)PTR_DAT_003f85c0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""GOT entry %d, type %02x: %s"" " string_content ") , identifier , identifier , (pointer_expression "*puVar9" * identifier) ))) ;) })) (expression_statement "(**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);" (call_expression "(**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1c0))" ( (pointer_expression "**(code **)(*plVar7 + 0x1c0)" * (pointer_expression "*(code **)(*plVar7 + 0x1c0)" * (cast_expression "(code **)(*plVar7 + 0x1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1c0)" ( (binary_expression "*plVar7 + 0x1c0" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,iVar17,puVar9,bVar1)" ( identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_001a34de;" goto statement_identifier ;) })) (expression_statement "uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));" (assignment_expression "uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" identifier = (pointer_expression "*(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" * (cast_expression "(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" ( (binary_expression "lVar5 + 4 + (ulong)(uint)(iVar17 * 8)" (binary_expression "lVar5 + 4" identifier + number_literal) + (call_expression "(ulong)(uint)(iVar17 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar17 * 8)" ( (binary_expression "iVar17 * 8" identifier * number_literal) )))) ))))) ;) (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }" if (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }" { (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f)" identifier (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f)" ( (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" * (cast_expression "(undefined8 *)PTR_DAT_003f85c0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""GOT entry %d, type %02x: (local symbol)"" " string_content ") , identifier , (binary_expression "bVar1 & 0x7f" identifier & number_literal) ))) ;) })) (expression_statement "uVar16 = (ulong)uVar3;" (assignment_expression "uVar16 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }" if (parenthesized_expression "((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16)" ( (binary_expression "(ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16" (call_expression "(ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3)" ( (binary_expression "*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3" (binary_expression "*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78)" (pointer_expression "*(long *)(param_1 + 0x80)" * (cast_expression "(long *)(param_1 + 0x80)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x78)" * (cast_expression "(long *)(param_1 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }" { comment (expression_statement "FUN_00199900("../../gold/incremental.h",0x654,"input_object");" (call_expression "FUN_00199900("../../gold/incremental.h",0x654,"input_object")" identifier (argument_list "("../../gold/incremental.h",0x654,"input_object")" ( (string_literal ""../../gold/incremental.h"" " string_content ") , number_literal , (string_literal ""input_object"" " string_content ") ))) ;) })) (expression_statement "lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);" (assignment_expression "lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x78) + uVar16 * 8)" ( (binary_expression "*(long *)(param_1 + 0x78) + uVar16 * 8" (pointer_expression "*(long *)(param_1 + 0x78)" * (cast_expression "(long *)(param_1 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) + (binary_expression "uVar16 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (lVar8 == 0) goto LAB_001a34de;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001a34de;" goto statement_identifier ;)) (expression_statement "iVar18 = iVar17 + 1;" (assignment_expression "iVar18 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);" (call_expression "(**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1b8))" ( (pointer_expression "**(code **)(*plVar7 + 0x1b8)" * (pointer_expression "*(code **)(*plVar7 + 0x1b8)" * (cast_expression "(code **)(*plVar7 + 0x1b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1b8)" ( (binary_expression "*plVar7 + 0x1b8" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,iVar17,lVar8,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = iVar18;" (assignment_expression "iVar17 = iVar18" identifier = identifier) ;) }) while (parenthesized_expression "(iVar19 != iVar18)" ( (binary_expression "iVar19 != iVar18" identifier != identifier) )) ;) })) (labeled_statement "LAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }" statement_identifier : (if_statement "if (iVar2 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "uVar11 = *puVar6;" (assignment_expression "uVar11 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (if_statement "if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }" if (parenthesized_expression "((uVar15 <= uVar11) && (uVar11 < uVar14))" ( (binary_expression "(uVar15 <= uVar11) && (uVar11 < uVar14)" (parenthesized_expression "(uVar15 <= uVar11)" ( (binary_expression "uVar15 <= uVar11" identifier <= identifier) )) && (parenthesized_expression "(uVar11 < uVar14)" ( (binary_expression "uVar11 < uVar14" identifier < identifier) ))) )) (compound_statement "{\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));" do (compound_statement "{\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    }" { (expression_statement "puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;" (assignment_expression "puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" * (cast_expression "(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" ( (binary_expression "*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8" (pointer_expression "*(long *)(param_1 + 0xa8)" * (cast_expression "(long *)(param_1 + 0xa8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) + (binary_expression "(ulong)(uVar11 + (iVar10 - uVar14)) * 8" (call_expression "(ulong)(uVar11 + (iVar10 - uVar14))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 + (iVar10 - uVar14))" ( (binary_expression "uVar11 + (iVar10 - uVar14)" identifier + (parenthesized_expression "(iVar10 - uVar14)" ( (binary_expression "iVar10 - uVar14" identifier - identifier) ))) ))) * number_literal)) ))))) ;) (if_statement "if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }" if (parenthesized_expression "((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0'))" ( (binary_expression "(puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')" (parenthesized_expression "(puVar9 != (undefined8 *)0x0)" ( (binary_expression "puVar9 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)((long)puVar9 + 0x3a) < '\0')" ( (binary_expression "*(char *)((long)puVar9 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar9 + 0x3a)" * (cast_expression "(char *)((long)puVar9 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 0x3a)" ( (binary_expression "(long)puVar9 + 0x3a" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }" { (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }" if (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }" { (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9)" identifier (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9)" ( (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" * (cast_expression "(undefined8 *)PTR_DAT_003f85c0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""PLT entry %d: %s"" " string_content ") , identifier , (pointer_expression "*puVar9" * identifier) ))) ;) })) (expression_statement "(**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);" (call_expression "(**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1c8))" ( (pointer_expression "**(code **)(*plVar7 + 0x1c8)" * (pointer_expression "*(code **)(*plVar7 + 0x1c8)" * (cast_expression "(code **)(*plVar7 + 0x1c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1c8)" ( (binary_expression "*plVar7 + 0x1c8" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,param_2,param_3,iVar19,puVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (if_statement "if (iVar19 == iVar2) {\n        return;\n      }" if (parenthesized_expression "(iVar19 == iVar2)" ( (binary_expression "iVar19 == iVar2" identifier == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));" (assignment_expression "uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" identifier = (pointer_expression "*(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" * (cast_expression "(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + (ulong)(uint)(iVar19 * 4))" ( (binary_expression "(long)puVar6 + (ulong)(uint)(iVar19 * 4)" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (call_expression "(ulong)(uint)(iVar19 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar19 * 4)" ( (binary_expression "iVar19 * 4" identifier * number_literal) )))) ))))) ;) }) while (parenthesized_expression "((uVar15 <= uVar11) && (uVar11 < uVar14))" ( (binary_expression "(uVar15 <= uVar11) && (uVar11 < uVar14)" (parenthesized_expression "(uVar15 <= uVar11)" ( (binary_expression "uVar15 <= uVar11" identifier <= identifier) )) && (parenthesized_expression "(uVar11 < uVar14)" ( (binary_expression "uVar11 < uVar14" identifier < identifier) ))) )) ;) })) comment (expression_statement "FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");" (call_expression "FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt")" identifier (argument_list "("../../gold/incremental.cc",700,"do_process_got_plt")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""do_process_got_plt"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void do_process_got_plt(Sized_incremental_binary<32,_false> * this,\n   Symbol_table * symtab, Layout * layout) */\n\nvoid __thiscall\ngold::Sized_incremental_binary<32,_false>::do_process_got_plt\n          (Sized_incremental_binary<32,_false> *this,Symbol_table *symtab,Layout *layout)\n\n{\n  byte bVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uchar *puVar5;\n  uchar *puVar6;\n  uint *puVar7;\n  Target *pTVar8;\n  long lVar9;\n  pointer ppSVar10;\n  Sized_relobj_incr<32,_false> *pSVar11;\n  Symbol *pSVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  long lVar16;\n  undefined4 extraout_var;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  ulong uVar20;\n  ulong uVar21;\n  uint uVar22;\n  ulong uVar23;\n  \n  puVar5 = (this->got_plt_reader_).p_;\n  puVar6 = (this->got_plt_reader_).got_desc_p_;\n  uVar22 = (this->got_plt_reader_).got_count_;\n  puVar7 = (uint *)(this->got_plt_reader_).plt_desc_p_;\n  pTVar8 = parameters->target_;\n  if (pTVar8 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar9 = (this->main_symtab_loc_).data_size;\n  lVar16 = lVar9 + 0xf;\n  if (-1 < lVar9) {\n    lVar16 = lVar9;\n  }\n  lVar9 = (this->symtab_reader_).len_;\n  uVar17 = (uint)(lVar16 >> 4);\n  lVar16 = lVar9 + 3;\n  if (-1 < lVar9) {\n    lVar16 = lVar9;\n  }\n  uVar23 = 0;\n  iVar14 = (int)(lVar16 >> 2);\n  uVar18 = uVar17 - iVar14;\n  uVar2 = *(uint *)(puVar5 + 4);\n  iVar15 = (*pTVar8->_vptr_Target[0x36])(pTVar8,symtab,layout,(ulong)uVar22,(ulong)uVar2);\n  if (uVar22 != 0) {\n    do {\n      while( true ) {\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }\n      uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);\n      uVar20 = (ulong)uVar19;\n      if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {\n        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }\n      uVar21 = (ulong)uVar4;\n      ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start;\n      if ((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }\n      pSVar11 = ppSVar10[uVar21];\n      if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;\n      (*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);\n      uVar23 = (ulong)(iVar13 + 1U);\n    } while (uVar22 != iVar13 + 1U);\n  }\nLAB_001a35be:\n  if (uVar2 == 0) {\n    return;\n  }\n  uVar22 = *puVar7;\n  if ((uVar18 <= uVar22) && (uVar22 < uVar17)) {\n    uVar23 = 0;\n    do {\n      pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)];\n      if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }\n      uVar22 = (int)uVar23 + 1;\n      uVar23 = (ulong)uVar22;\n      if (uVar22 == uVar2) {\n        return;\n      }\n      uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));\n    } while ((uVar18 <= uVar22) && (uVar22 < uVar17));\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/incremental.cc",700,"do_process_got_plt");\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_incremental_binary<32,_false>::do_process_got_plt\n          (Sized_incremental_binary<32,_false> *this,Symbol_table *symtab,Layout *layout)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_process_got_plt\n          (Sized_incremental_binary<32,_false> *this,Symbol_table *symtab,Layout *layout)\n\n{\n  byte" identifier > : : (function_declarator "do_process_got_plt\n          (Sized_incremental_binary<32,_false> *this,Symbol_table *symtab,Layout *layout)" identifier (parameter_list "(Sized_incremental_binary<32,_false> *this,Symbol_table *symtab,Layout *layout)" ( (parameter_declaration "Sized_incremental_binary" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) ))) { identifier) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uchar *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "Target *pTVar8;" type_identifier (pointer_declarator "*pTVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "pointer ppSVar10;" type_identifier identifier ;) (expression_statement "Sized_relobj_incr<32,_false> *pSVar11;" (update_expression "Sized_relobj_incr<32,_false> *pSVar11" (binary_expression "Sized_relobj_incr<32,_false> *pSVar11" (binary_expression "Sized_relobj_incr<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar11" * identifier)) --) ;) (declaration "Symbol *pSVar12;" type_identifier (pointer_declarator "*pSVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "ulong uVar23;" type_identifier identifier ;) (expression_statement "puVar5 = (this->got_plt_reader_).p_;" (assignment_expression "puVar5 = (this->got_plt_reader_).p_" identifier = (field_expression "(this->got_plt_reader_).p_" (parenthesized_expression "(this->got_plt_reader_)" ( (field_expression "this->got_plt_reader_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar6 = (this->got_plt_reader_).got_desc_p_;" (assignment_expression "puVar6 = (this->got_plt_reader_).got_desc_p_" identifier = (field_expression "(this->got_plt_reader_).got_desc_p_" (parenthesized_expression "(this->got_plt_reader_)" ( (field_expression "this->got_plt_reader_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar22 = (this->got_plt_reader_).got_count_;" (assignment_expression "uVar22 = (this->got_plt_reader_).got_count_" identifier = (field_expression "(this->got_plt_reader_).got_count_" (parenthesized_expression "(this->got_plt_reader_)" ( (field_expression "this->got_plt_reader_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar7 = (uint *)(this->got_plt_reader_).plt_desc_p_;" (assignment_expression "puVar7 = (uint *)(this->got_plt_reader_).plt_desc_p_" identifier = (cast_expression "(uint *)(this->got_plt_reader_).plt_desc_p_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->got_plt_reader_).plt_desc_p_" (parenthesized_expression "(this->got_plt_reader_)" ( (field_expression "this->got_plt_reader_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar8 = parameters->target_;" (assignment_expression "pTVar8 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar8 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n  }" if (parenthesized_expression "(pTVar8 == (Target *)0x0)" ( (binary_expression "pTVar8 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "lVar9 = (this->main_symtab_loc_).data_size;" (assignment_expression "lVar9 = (this->main_symtab_loc_).data_size" identifier = (field_expression "(this->main_symtab_loc_).data_size" (parenthesized_expression "(this->main_symtab_loc_)" ( (field_expression "this->main_symtab_loc_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "lVar16 = lVar9 + 0xf;" (assignment_expression "lVar16 = lVar9 + 0xf" identifier = (binary_expression "lVar9 + 0xf" identifier + number_literal)) ;) (if_statement "if (-1 < lVar9) {\n    lVar16 = lVar9;\n  }" if (parenthesized_expression "(-1 < lVar9)" ( (binary_expression "-1 < lVar9" number_literal < identifier) )) (compound_statement "{\n    lVar16 = lVar9;\n  }" { (expression_statement "lVar16 = lVar9;" (assignment_expression "lVar16 = lVar9" identifier = identifier) ;) })) (expression_statement "lVar9 = (this->symtab_reader_).len_;" (assignment_expression "lVar9 = (this->symtab_reader_).len_" identifier = (field_expression "(this->symtab_reader_).len_" (parenthesized_expression "(this->symtab_reader_)" ( (field_expression "this->symtab_reader_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar17 = (uint)(lVar16 >> 4);" (assignment_expression "uVar17 = (uint)(lVar16 >> 4)" identifier = (call_expression "(uint)(lVar16 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar16 >> 4)" ( (binary_expression "lVar16 >> 4" identifier >> number_literal) )))) ;) (expression_statement "lVar16 = lVar9 + 3;" (assignment_expression "lVar16 = lVar9 + 3" identifier = (binary_expression "lVar9 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < lVar9) {\n    lVar16 = lVar9;\n  }" if (parenthesized_expression "(-1 < lVar9)" ( (binary_expression "-1 < lVar9" number_literal < identifier) )) (compound_statement "{\n    lVar16 = lVar9;\n  }" { (expression_statement "lVar16 = lVar9;" (assignment_expression "lVar16 = lVar9" identifier = identifier) ;) })) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "iVar14 = (int)(lVar16 >> 2);" (assignment_expression "iVar14 = (int)(lVar16 >> 2)" identifier = (cast_expression "(int)(lVar16 >> 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(lVar16 >> 2)" ( (binary_expression "lVar16 >> 2" identifier >> number_literal) )))) ;) (expression_statement "uVar18 = uVar17 - iVar14;" (assignment_expression "uVar18 = uVar17 - iVar14" identifier = (binary_expression "uVar17 - iVar14" identifier - identifier)) ;) (expression_statement "uVar2 = *(uint *)(puVar5 + 4);" (assignment_expression "uVar2 = *(uint *)(puVar5 + 4)" identifier = (pointer_expression "*(uint *)(puVar5 + 4)" * (cast_expression "(uint *)(puVar5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = (*pTVar8->_vptr_Target[0x36])(pTVar8,symtab,layout,(ulong)uVar22,(ulong)uVar2);" (assignment_expression "iVar15 = (*pTVar8->_vptr_Target[0x36])(pTVar8,symtab,layout,(ulong)uVar22,(ulong)uVar2)" identifier = (call_expression "(*pTVar8->_vptr_Target[0x36])(pTVar8,symtab,layout,(ulong)uVar22,(ulong)uVar2)" (parenthesized_expression "(*pTVar8->_vptr_Target[0x36])" ( (pointer_expression "*pTVar8->_vptr_Target[0x36]" * (subscript_expression "pTVar8->_vptr_Target[0x36]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar8,symtab,layout,(ulong)uVar22,(ulong)uVar2)" ( identifier , identifier , identifier , (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (if_statement "if (uVar22 != 0) {\n    do {\n      while( true ) {\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }\n      uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);\n      uVar20 = (ulong)uVar19;\n      if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {\n        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }\n      uVar21 = (ulong)uVar4;\n      ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start;\n      if ((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }\n      pSVar11 = ppSVar10[uVar21];\n      if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;\n      (*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);\n      uVar23 = (ulong)(iVar13 + 1U);\n    } while (uVar22 != iVar13 + 1U);\n  }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      while( true ) {\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }\n      uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);\n      uVar20 = (ulong)uVar19;\n      if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {\n        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }\n      uVar21 = (ulong)uVar4;\n      ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start;\n      if ((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }\n      pSVar11 = ppSVar10[uVar21];\n      if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;\n      (*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);\n      uVar23 = (ulong)(iVar13 + 1U);\n    } while (uVar22 != iVar13 + 1U);\n  }" { (do_statement "do {\n      while( true ) {\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }\n      uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);\n      uVar20 = (ulong)uVar19;\n      if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {\n        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }\n      uVar21 = (ulong)uVar4;\n      ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start;\n      if ((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }\n      pSVar11 = ppSVar10[uVar21];\n      if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;\n      (*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);\n      uVar23 = (ulong)(iVar13 + 1U);\n    } while (uVar22 != iVar13 + 1U);" do (compound_statement "{\n      while( true ) {\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }\n      uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);\n      uVar20 = (ulong)uVar19;\n      if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {\n        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }\n      uVar21 = (ulong)uVar4;\n      ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start;\n      if ((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }\n      pSVar11 = ppSVar10[uVar21];\n      if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;\n      (*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);\n      uVar23 = (ulong)(iVar13 + 1U);\n    }" { (while_statement "while( true ) {\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar13 = (int)uVar23;\n        bVar1 = puVar5[iVar13 + 8];\n        uVar19 = bVar1 & 0x7f;\n        if ((char)uVar19 != '\x7f') break;\n        (**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);\nLAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);\n        if (uVar22 == iVar13 + 1U) goto LAB_001a35be;\n      }" { (expression_statement "iVar13 = (int)uVar23;" (assignment_expression "iVar13 = (int)uVar23" identifier = (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "bVar1 = puVar5[iVar13 + 8];" (assignment_expression "bVar1 = puVar5[iVar13 + 8]" identifier = (subscript_expression "puVar5[iVar13 + 8]" identifier [ (binary_expression "iVar13 + 8" identifier + number_literal) ])) ;) (expression_statement "uVar19 = bVar1 & 0x7f;" (assignment_expression "uVar19 = bVar1 & 0x7f" identifier = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)uVar19 != '\x7f') break;" if (parenthesized_expression "((char)uVar19 != '\x7f')" ( (binary_expression "(char)uVar19 != '\x7f'" (cast_expression "(char)uVar19" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\x7f'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23);" (call_expression "(**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))\n                  ((long *)CONCAT44(extraout_var,iVar15),uVar23)" (parenthesized_expression "(**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200))" ( (pointer_expression "**(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200)" * (pointer_expression "*(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200)" * (cast_expression "(code **)(*(long *)CONCAT44(extraout_var,iVar15) + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)CONCAT44(extraout_var,iVar15) + 200)" ( (binary_expression "*(long *)CONCAT44(extraout_var,iVar15) + 200" (pointer_expression "*(long *)CONCAT44(extraout_var,iVar15)" * (cast_expression "(long *)CONCAT44(extraout_var,iVar15)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar15)" identifier (argument_list "(extraout_var,iVar15)" ( identifier , identifier ))))) + number_literal) ))))) )) (argument_list "((long *)CONCAT44(extraout_var,iVar15),uVar23)" ( (cast_expression "(long *)CONCAT44(extraout_var,iVar15)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar15)" identifier (argument_list "(extraout_var,iVar15)" ( identifier , identifier )))) , identifier ))) ;) (labeled_statement "LAB_001a34de:\n        uVar23 = (ulong)(iVar13 + 1U);" statement_identifier : (expression_statement "uVar23 = (ulong)(iVar13 + 1U);" (assignment_expression "uVar23 = (ulong)(iVar13 + 1U)" identifier = (call_expression "(ulong)(iVar13 + 1U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar13 + 1U)" ( (binary_expression "iVar13 + 1U" identifier + number_literal) )))) ;)) (if_statement "if (uVar22 == iVar13 + 1U) goto LAB_001a35be;" if (parenthesized_expression "(uVar22 == iVar13 + 1U)" ( (binary_expression "uVar22 == iVar13 + 1U" identifier == (binary_expression "iVar13 + 1U" identifier + number_literal)) )) (goto_statement "goto LAB_001a35be;" goto statement_identifier ;)) })) (expression_statement "uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8));" (assignment_expression "uVar3 = *(uint *)(puVar6 + (uint)(iVar13 * 8))" identifier = (pointer_expression "*(uint *)(puVar6 + (uint)(iVar13 * 8))" * (cast_expression "(uint *)(puVar6 + (uint)(iVar13 * 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + (uint)(iVar13 * 8))" ( (binary_expression "puVar6 + (uint)(iVar13 * 8)" identifier + (call_expression "(uint)(iVar13 * 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar13 * 8)" ( (binary_expression "iVar13 * 8" identifier * number_literal) )))) ))))) ;) (if_statement "if (-1 < (char)bVar1) {\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }" if (parenthesized_expression "(-1 < (char)bVar1)" ( (binary_expression "-1 < (char)bVar1" number_literal < (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];\n        if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }\n        goto LAB_001a34de;\n      }" { (if_statement "if ((uVar3 < uVar18) || (uVar17 <= uVar3)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" if (parenthesized_expression "((uVar3 < uVar18) || (uVar17 <= uVar3))" ( (binary_expression "(uVar3 < uVar18) || (uVar17 <= uVar3)" (parenthesized_expression "(uVar3 < uVar18)" ( (binary_expression "uVar3 < uVar18" identifier < identifier) )) || (parenthesized_expression "(uVar17 <= uVar3)" ( (binary_expression "uVar17 <= uVar3" identifier <= identifier) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" identifier (argument_list "("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""do_process_got_plt"" " string_content ") ))) ;) })) (expression_statement "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3];" (subscript_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                  [(iVar14 - uVar17) + uVar3]" (field_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold::Symbol*,_std" (assignment_expression "pSVar12 = (this->symbol_map_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->symbol_map_).\n                  super__Vector_base<gold" (field_expression "(this->symbol_map_).\n                  super__Vector_base" (parenthesized_expression "(this->symbol_map_)" ( (field_expression "this->symbol_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "(iVar14 - uVar17) + uVar3" (parenthesized_expression "(iVar14 - uVar17)" ( (binary_expression "iVar14 - uVar17" identifier - identifier) )) + identifier) ]) ;) (if_statement "if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }" if (parenthesized_expression "((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0'))" ( (binary_expression "(pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')" (parenthesized_expression "(pSVar12 != (Symbol *)0x0)" ( (binary_expression "pSVar12 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((char)pSVar12->field_0x3a < '\0')" ( (binary_expression "(char)pSVar12->field_0x3a < '\0'" (cast_expression "(char)pSVar12->field_0x3a" ( (type_descriptor "char" primitive_type) ) (field_expression "pSVar12->field_0x3a" identifier -> field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }\n          (*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);\n        }" { (if_statement "if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)\n             ) {\n            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\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            Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);\n          }" { (labeled_statement "Errors::debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);" statement_identifier : (ERROR ":" :) (expression_statement "debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_);" (call_expression "debug(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_)" identifier (argument_list "(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(ulong)bVar1,\n                          pSVar12->name_)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , (string_literal ""GOT entry %d, type %02x: %s"" " string_content ") , identifier , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) , (field_expression "pSVar12->name_" identifier -> field_identifier) ))) ;)) })) (expression_statement "(*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1);" (call_expression "(*pTVar8->_vptr_Target[0x38])(pTVar8,uVar23,pSVar12,(ulong)bVar1)" (parenthesized_expression "(*pTVar8->_vptr_Target[0x38])" ( (pointer_expression "*pTVar8->_vptr_Target[0x38]" * (subscript_expression "pTVar8->_vptr_Target[0x38]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar8,uVar23,pSVar12,(ulong)bVar1)" ( identifier , identifier , identifier , (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) })) (goto_statement "goto LAB_001a34de;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4);" (assignment_expression "uVar4 = *(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4)" identifier = (pointer_expression "*(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4)" * (cast_expression "(uint *)(puVar6 + (ulong)(uint)(iVar13 * 8) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + (ulong)(uint)(iVar13 * 8) + 4)" ( (binary_expression "puVar6 + (ulong)(uint)(iVar13 * 8) + 4" (binary_expression "puVar6 + (ulong)(uint)(iVar13 * 8)" identifier + (call_expression "(ulong)(uint)(iVar13 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar13 * 8)" ( (binary_expression "iVar13 * 8" identifier * number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar20 = (ulong)uVar19;" (assignment_expression "uVar20 = (ulong)uVar19" identifier = (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)) {\n        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }" if (parenthesized_expression "((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))" ( (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        Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);\n        uVar20 = (ulong)(uint)bVar1 & 0x7f;\n      }" { (labeled_statement "Errors::debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);" statement_identifier : (ERROR ":" :) (expression_statement "debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);" (call_expression "debug(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20)" identifier (argument_list "(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , (string_literal ""GOT entry %d, type %02x: (local symbol)"" " string_content ") , identifier , identifier ))) ;)) (expression_statement "uVar20 = (ulong)(uint)bVar1 & 0x7f;" (assignment_expression "uVar20 = (ulong)(uint)bVar1 & 0x7f" identifier = (binary_expression "(ulong)(uint)bVar1 & 0x7f" (cast_expression "(ulong)(uint)bVar1" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) & number_literal)) ;) })) (expression_statement "uVar21 = (ulong)uVar4;" (assignment_expression "uVar21 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (ERROR "ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::" (comma_expression "ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std" (binary_expression "ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold::Sized_relobj_incr<32" (assignment_expression "ppSVar10 = (this->input_objects_).\n                 super__Vector_base<gold" identifier = (binary_expression "(this->input_objects_).\n                 super__Vector_base<gold" (field_expression "(this->input_objects_).\n                 super__Vector_base" (parenthesized_expression "(this->input_objects_)" ( (field_expression "this->input_objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_incr" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start;" (comma_expression "Sized_relobj_incr<32,_false>*>_>\n                 ._M_impl._M_start" (binary_expression "Sized_relobj_incr<32" identifier < number_literal) , (field_expression "_false>*>_>\n                 ._M_impl._M_start" (field_expression "_false>*>_>\n                 ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if ((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }" if (parenthesized_expression "((ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21)" ( (binary_expression "(ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= uVar21" (call_expression "(ulong)((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32,_false>*,_std::allocator<gold::Sized_relobj_incr<32,_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3)" ( (binary_expression "(long)(this->input_objects_).\n                        super__Vector_base<gold::Sized_relobj_incr<32" (binary_expression "(long)(this->input_objects_).\n                        super__Vector_base<gold" (cast_expression "(long)(this->input_objects_).\n                        super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this->input_objects_).\n                        super__Vector_base" (parenthesized_expression "(this->input_objects_)" ( (field_expression "this->input_objects_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Sized_relobj_incr" : : identifier) < number_literal) , (binary_expression "_false>*,_std::allocator<gold::Sized_relobj_incr<32" (binary_expression "_false>*,_std::allocator<gold" (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Sized_relobj_incr" : : identifier) < number_literal) , (binary_expression "_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10 >> 3" (binary_expression "_false>*>_>\n                        ._M_impl._M_finish - (long)ppSVar10" (field_expression "_false>*>_>\n                        ._M_impl._M_finish" (field_expression "_false>*>_>\n                        ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppSVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.h",0x654,"input_object");" (call_expression "do_gold_unreachable("../../gold/incremental.h",0x654,"input_object")" identifier (argument_list "("../../gold/incremental.h",0x654,"input_object")" ( (string_literal ""../../gold/incremental.h"" " string_content ") , number_literal , (string_literal ""input_object"" " string_content ") ))) ;) })) (expression_statement "pSVar11 = ppSVar10[uVar21];" (assignment_expression "pSVar11 = ppSVar10[uVar21]" identifier = (subscript_expression "ppSVar10[uVar21]" identifier [ identifier ])) ;) (if_statement "if (pSVar11 == (Sized_relobj_incr<32,_false> *)0x0) goto LAB_001a34de;" if (parenthesized_expression "(pSVar11 == (Sized_relobj_incr<32,_false> *)0x0)" ( (binary_expression "pSVar11 == (Sized_relobj_incr<32,_false> *)0x0)" identifier == (parenthesized_expression "(Sized_relobj_incr<32,_false> *)0x0)" ( (comma_expression "Sized_relobj_incr<32,_false> *)0x0" (binary_expression "Sized_relobj_incr<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (goto_statement "goto LAB_001a34de;" goto statement_identifier ;)) (expression_statement "(*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20);" (call_expression "(*pTVar8->_vptr_Target[0x37])(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20)" (parenthesized_expression "(*pTVar8->_vptr_Target[0x37])" ( (pointer_expression "*pTVar8->_vptr_Target[0x37]" * (subscript_expression "pTVar8->_vptr_Target[0x37]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar8,uVar23,pSVar11,(ulong)uVar3,uVar20)" ( identifier , identifier , identifier , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "uVar23 = (ulong)(iVar13 + 1U);" (assignment_expression "uVar23 = (ulong)(iVar13 + 1U)" identifier = (call_expression "(ulong)(iVar13 + 1U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar13 + 1U)" ( (binary_expression "iVar13 + 1U" identifier + number_literal) )))) ;) }) while (parenthesized_expression "(uVar22 != iVar13 + 1U)" ( (binary_expression "uVar22 != iVar13 + 1U" identifier != (binary_expression "iVar13 + 1U" identifier + number_literal)) )) ;) })) (labeled_statement "LAB_001a35be:\n  if (uVar2 == 0) {\n    return;\n  }" statement_identifier : (if_statement "if (uVar2 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "uVar22 = *puVar7;" (assignment_expression "uVar22 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (if_statement "if ((uVar18 <= uVar22) && (uVar22 < uVar17)) {\n    uVar23 = 0;\n    do {\n      pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)];\n      if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }\n      uVar22 = (int)uVar23 + 1;\n      uVar23 = (ulong)uVar22;\n      if (uVar22 == uVar2) {\n        return;\n      }\n      uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));\n    } while ((uVar18 <= uVar22) && (uVar22 < uVar17));\n  }" if (parenthesized_expression "((uVar18 <= uVar22) && (uVar22 < uVar17))" ( (binary_expression "(uVar18 <= uVar22) && (uVar22 < uVar17)" (parenthesized_expression "(uVar18 <= uVar22)" ( (binary_expression "uVar18 <= uVar22" identifier <= identifier) )) && (parenthesized_expression "(uVar22 < uVar17)" ( (binary_expression "uVar22 < uVar17" identifier < identifier) ))) )) (compound_statement "{\n    uVar23 = 0;\n    do {\n      pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)];\n      if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }\n      uVar22 = (int)uVar23 + 1;\n      uVar23 = (ulong)uVar22;\n      if (uVar22 == uVar2) {\n        return;\n      }\n      uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));\n    } while ((uVar18 <= uVar22) && (uVar22 < uVar17));\n  }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n      pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)];\n      if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }\n      uVar22 = (int)uVar23 + 1;\n      uVar23 = (ulong)uVar22;\n      if (uVar22 == uVar2) {\n        return;\n      }\n      uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));\n    } while ((uVar18 <= uVar22) && (uVar22 < uVar17));" do (compound_statement "{\n      pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)];\n      if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }\n      uVar22 = (int)uVar23 + 1;\n      uVar23 = (ulong)uVar22;\n      if (uVar22 == uVar2) {\n        return;\n      }\n      uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));\n    }" { (expression_statement "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)];" (subscript_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n                [uVar22 + (iVar14 - uVar17)]" (field_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold::Symbol*,_std" (assignment_expression "pSVar12 = (this->symbol_map_).\n                super__Vector_base<gold" identifier = (binary_expression "(this->symbol_map_).\n                super__Vector_base<gold" (field_expression "(this->symbol_map_).\n                super__Vector_base" (parenthesized_expression "(this->symbol_map_)" ( (field_expression "this->symbol_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "uVar22 + (iVar14 - uVar17)" identifier + (parenthesized_expression "(iVar14 - uVar17)" ( (binary_expression "iVar14 - uVar17" identifier - identifier) ))) ]) ;) (if_statement "if ((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')) {\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }" if (parenthesized_expression "((pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0'))" ( (binary_expression "(pSVar12 != (Symbol *)0x0) && ((char)pSVar12->field_0x3a < '\0')" (parenthesized_expression "(pSVar12 != (Symbol *)0x0)" ( (binary_expression "pSVar12 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((char)pSVar12->field_0x3a < '\0')" ( (binary_expression "(char)pSVar12->field_0x3a < '\0'" (cast_expression "(char)pSVar12->field_0x3a" ( (type_descriptor "char" primitive_type) ) (field_expression "pSVar12->field_0x3a" identifier -> field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }\n        (*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);\n      }" { (if_statement "if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }" if (parenthesized_expression "((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))" ( (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          Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);\n        }" { (labeled_statement "Errors::debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);" statement_identifier : (ERROR ":" :) (expression_statement "debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_);" (call_expression "debug(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_)" identifier (argument_list "(parameters->errors_,"PLT entry %d: %s",uVar23,pSVar12->name_)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , (string_literal ""PLT entry %d: %s"" " string_content ") , identifier , (field_expression "pSVar12->name_" identifier -> field_identifier) ))) ;)) })) (expression_statement "(*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12);" (call_expression "(*pTVar8->_vptr_Target[0x39])(pTVar8,symtab,layout,uVar23,pSVar12)" (parenthesized_expression "(*pTVar8->_vptr_Target[0x39])" ( (pointer_expression "*pTVar8->_vptr_Target[0x39]" * (subscript_expression "pTVar8->_vptr_Target[0x39]" (field_expression "pTVar8->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar8,symtab,layout,uVar23,pSVar12)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar22 = (int)uVar23 + 1;" (assignment_expression "uVar22 = (int)uVar23 + 1" identifier = (binary_expression "(int)uVar23 + 1" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar23 = (ulong)uVar22;" (assignment_expression "uVar23 = (ulong)uVar22" identifier = (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar22 == uVar2) {\n        return;\n      }" if (parenthesized_expression "(uVar22 == uVar2)" ( (binary_expression "uVar22 == uVar2" identifier == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4));" (assignment_expression "uVar22 = *(uint *)((long)puVar7 + (ulong)(uVar22 * 4))" identifier = (pointer_expression "*(uint *)((long)puVar7 + (ulong)(uVar22 * 4))" * (cast_expression "(uint *)((long)puVar7 + (ulong)(uVar22 * 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + (ulong)(uVar22 * 4))" ( (binary_expression "(long)puVar7 + (ulong)(uVar22 * 4)" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (call_expression "(ulong)(uVar22 * 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 * 4)" ( (binary_expression "uVar22 * 4" identifier * number_literal) )))) ))))) ;) }) while (parenthesized_expression "((uVar18 <= uVar22) && (uVar22 < uVar17))" ( (binary_expression "(uVar18 <= uVar22) && (uVar22 < uVar17)" (parenthesized_expression "(uVar18 <= uVar22)" ( (binary_expression "uVar18 <= uVar22" identifier <= identifier) )) && (parenthesized_expression "(uVar22 < uVar17)" ( (binary_expression "uVar22 < uVar17" identifier < identifier) ))) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",700,"do_process_got_plt");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",700,"do_process_got_plt")" identifier (argument_list "("../../gold/incremental.cc",700,"do_process_got_plt")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""do_process_got_plt"" " string_content ") ))) ;) (ERROR "}" }))
(translation_unit "void FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    \n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}\n\n" (function_definition "void FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    \n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}" primitive_type (function_declarator "FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    \n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (expression_statement "lVar4 = *(long *)(param_1 + 0x140);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x140)" identifier = (pointer_expression "*(long *)(param_1 + 0x140)" * (cast_expression "(long *)(param_1 + 0x140)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x140)" ( (binary_expression "param_1 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "lVar5 = *(long *)(param_1 + 0x150);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x150)" identifier = (pointer_expression "*(long *)(param_1 + 0x150)" * (cast_expression "(long *)(param_1 + 0x150)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(param_1 + 0x148);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x148)" identifier = (pointer_expression "*(int *)(param_1 + 0x148)" * (cast_expression "(int *)(param_1 + 0x148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x148)" ( (binary_expression "param_1 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = *(uint **)(param_1 + 0x158);" (assignment_expression "puVar6 = *(uint **)(param_1 + 0x158)" identifier = (pointer_expression "*(uint **)(param_1 + 0x158)" * (cast_expression "(uint **)(param_1 + 0x158)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x158)" ( (binary_expression "param_1 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);" (assignment_expression "plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_003f85c0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_003f85c0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" ( (binary_expression "PTR_DAT_003f85c0 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }" if (parenthesized_expression "(plVar7 == (long *)0x0)" ( (binary_expression "plVar7 == (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_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }" { (expression_statement "FUN_00199900("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "lVar8 = *(long *)(param_1 + 0xe0);" (assignment_expression "lVar8 = *(long *)(param_1 + 0xe0)" identifier = (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "lVar12 = lVar8 + 0xf;" (assignment_expression "lVar12 = lVar8 + 0xf" identifier = (binary_expression "lVar8 + 0xf" identifier + number_literal)) ;) (if_statement "if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }" if (parenthesized_expression "(-1 < lVar8)" ( (binary_expression "-1 < lVar8" number_literal < identifier) )) (compound_statement "{\n    lVar12 = lVar8;\n  }" { (expression_statement "lVar12 = lVar8;" (assignment_expression "lVar12 = lVar8" identifier = identifier) ;) })) (expression_statement "lVar8 = *(long *)(param_1 + 0x128);" (assignment_expression "lVar8 = *(long *)(param_1 + 0x128)" identifier = (pointer_expression "*(long *)(param_1 + 0x128)" * (cast_expression "(long *)(param_1 + 0x128)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = (uint)(lVar12 >> 4);" (assignment_expression "uVar14 = (uint)(lVar12 >> 4)" identifier = (call_expression "(uint)(lVar12 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar12 >> 4)" ( (binary_expression "lVar12 >> 4" identifier >> number_literal) )))) ;) (expression_statement "lVar12 = lVar8 + 3;" (assignment_expression "lVar12 = lVar8 + 3" identifier = (binary_expression "lVar8 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }" if (parenthesized_expression "(-1 < lVar8)" ( (binary_expression "-1 < lVar8" number_literal < identifier) )) (compound_statement "{\n    lVar12 = lVar8;\n  }" { (expression_statement "lVar12 = lVar8;" (assignment_expression "lVar12 = lVar8" identifier = identifier) ;) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = (int)(lVar12 >> 2);" (assignment_expression "iVar10 = (int)(lVar12 >> 2)" identifier = (cast_expression "(int)(lVar12 >> 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(lVar12 >> 2)" ( (binary_expression "lVar12 >> 2" identifier >> number_literal) )))) ;) (expression_statement "uVar15 = uVar14 - iVar10;" (assignment_expression "uVar15 = uVar14 - iVar10" identifier = (binary_expression "uVar14 - iVar10" identifier - identifier)) ;) (expression_statement "iVar2 = *(int *)(lVar4 + 4);" (assignment_expression "iVar2 = *(int *)(lVar4 + 4)" identifier = (pointer_expression "*(int *)(lVar4 + 4)" * (cast_expression "(int *)(lVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 4)" ( (binary_expression "lVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);" (assignment_expression "plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" identifier = (cast_expression "(long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1b0))" ( (pointer_expression "**(code **)(*plVar7 + 0x1b0)" * (pointer_expression "*(code **)(*plVar7 + 0x1b0)" * (cast_expression "(code **)(*plVar7 + 0x1b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1b0)" ( (binary_expression "*plVar7 + 0x1b0" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,param_2,param_3,iVar19,iVar2)" ( identifier , identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }" { (do_statement "do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);" do (compound_statement "{\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    }" { (while_statement "while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }" { (expression_statement "bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));" (assignment_expression "bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8))" identifier = (pointer_expression "*(byte *)(lVar4 + (ulong)(iVar17 + 8))" * (cast_expression "(byte *)(lVar4 + (ulong)(iVar17 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + (ulong)(iVar17 + 8))" ( (binary_expression "lVar4 + (ulong)(iVar17 + 8)" identifier + (call_expression "(ulong)(iVar17 + 8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) )))) ))))) ;) (if_statement "if ((bVar1 & 0x7f) != 0x7f) break;" if (parenthesized_expression "((bVar1 & 0x7f) != 0x7f)" ( (binary_expression "(bVar1 & 0x7f) != 0x7f" (parenthesized_expression "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(*plVar13 + 200))(plVar13,iVar17);" (call_expression "(**(code **)(*plVar13 + 200))(plVar13,iVar17)" (parenthesized_expression "(**(code **)(*plVar13 + 200))" ( (pointer_expression "**(code **)(*plVar13 + 200)" * (pointer_expression "*(code **)(*plVar13 + 200)" * (cast_expression "(code **)(*plVar13 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar13 + 200)" ( (binary_expression "*plVar13 + 200" (pointer_expression "*plVar13" * identifier) + number_literal) ))))) )) (argument_list "(plVar13,iVar17)" ( identifier , identifier ))) ;) (labeled_statement "LAB_001a34de:\n        iVar17 = iVar17 + 1;" statement_identifier : (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar19 == iVar17) goto LAB_001a35be;" if (parenthesized_expression "(iVar19 == iVar17)" ( (binary_expression "iVar19 == iVar17" identifier == identifier) )) (goto_statement "goto LAB_001a35be;" goto statement_identifier ;)) })) (expression_statement "uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));" (assignment_expression "uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" identifier = (pointer_expression "*(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" * (cast_expression "(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + (ulong)(uint)(iVar17 * 8))" ( (binary_expression "lVar5 + (ulong)(uint)(iVar17 * 8)" identifier + (call_expression "(ulong)(uint)(iVar17 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar17 * 8)" ( (binary_expression "iVar17 * 8" identifier * number_literal) )))) ))))) ;) (if_statement "if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }" if (parenthesized_expression "(-1 < (char)bVar1)" ( (binary_expression "-1 < (char)bVar1" number_literal < (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }" { (if_statement "if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" if (parenthesized_expression "((uVar11 < uVar15) || (uVar14 <= uVar11))" ( (binary_expression "(uVar11 < uVar15) || (uVar14 <= uVar11)" (parenthesized_expression "(uVar11 < uVar15)" ( (binary_expression "uVar11 < uVar15" identifier < identifier) )) || (parenthesized_expression "(uVar14 <= uVar11)" ( (binary_expression "uVar14 <= uVar11" identifier <= identifier) ))) )) (compound_statement "{\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" { (expression_statement "FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");" (call_expression "FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" identifier (argument_list "("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""do_process_got_plt"" " string_content ") ))) ;) })) (expression_statement "puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);" (assignment_expression "puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" identifier = (pointer_expression "*(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" * (cast_expression "(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" ( (binary_expression "*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8" (pointer_expression "*(long *)(param_1 + 0xa8)" * (cast_expression "(long *)(param_1 + 0xa8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) + (binary_expression "(ulong)((iVar10 - uVar14) + uVar11) * 8" (call_expression "(ulong)((iVar10 - uVar14) + uVar11)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((iVar10 - uVar14) + uVar11)" ( (binary_expression "(iVar10 - uVar14) + uVar11" (parenthesized_expression "(iVar10 - uVar14)" ( (binary_expression "iVar10 - uVar14" identifier - identifier) )) + identifier) ))) * number_literal)) ))))) ;) (if_statement "if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }" if (parenthesized_expression "((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0'))" ( (binary_expression "(puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')" (parenthesized_expression "(puVar9 != (undefined8 *)0x0)" ( (binary_expression "puVar9 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)((long)puVar9 + 0x3a) < '\0')" ( (binary_expression "*(char *)((long)puVar9 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar9 + 0x3a)" * (cast_expression "(char *)((long)puVar9 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 0x3a)" ( (binary_expression "(long)puVar9 + 0x3a" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }" { (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }" if (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }" { (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9)" identifier (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9)" ( (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" * (cast_expression "(undefined8 *)PTR_DAT_003f85c0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""GOT entry %d, type %02x: %s"" " string_content ") , identifier , identifier , (pointer_expression "*puVar9" * identifier) ))) ;) })) (expression_statement "(**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);" (call_expression "(**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1c0))" ( (pointer_expression "**(code **)(*plVar7 + 0x1c0)" * (pointer_expression "*(code **)(*plVar7 + 0x1c0)" * (cast_expression "(code **)(*plVar7 + 0x1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1c0)" ( (binary_expression "*plVar7 + 0x1c0" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,iVar17,puVar9,bVar1)" ( identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_001a34de;" goto statement_identifier ;) })) (expression_statement "uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));" (assignment_expression "uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" identifier = (pointer_expression "*(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" * (cast_expression "(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" ( (binary_expression "lVar5 + 4 + (ulong)(uint)(iVar17 * 8)" (binary_expression "lVar5 + 4" identifier + number_literal) + (call_expression "(ulong)(uint)(iVar17 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar17 * 8)" ( (binary_expression "iVar17 * 8" identifier * number_literal) )))) ))))) ;) (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }" if (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }" { (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f)" identifier (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f)" ( (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" * (cast_expression "(undefined8 *)PTR_DAT_003f85c0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""GOT entry %d, type %02x: (local symbol)"" " string_content ") , identifier , (binary_expression "bVar1 & 0x7f" identifier & number_literal) ))) ;) })) (expression_statement "uVar16 = (ulong)uVar3;" (assignment_expression "uVar16 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }" if (parenthesized_expression "((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16)" ( (binary_expression "(ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16" (call_expression "(ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3)" ( (binary_expression "*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3" (binary_expression "*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78)" (pointer_expression "*(long *)(param_1 + 0x80)" * (cast_expression "(long *)(param_1 + 0x80)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x78)" * (cast_expression "(long *)(param_1 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }" { (expression_statement "FUN_00199900("../../gold/incremental.h",0x654,"input_object");" (call_expression "FUN_00199900("../../gold/incremental.h",0x654,"input_object")" identifier (argument_list "("../../gold/incremental.h",0x654,"input_object")" ( (string_literal ""../../gold/incremental.h"" " string_content ") , number_literal , (string_literal ""input_object"" " string_content ") ))) ;) })) (expression_statement "lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);" (assignment_expression "lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x78) + uVar16 * 8)" ( (binary_expression "*(long *)(param_1 + 0x78) + uVar16 * 8" (pointer_expression "*(long *)(param_1 + 0x78)" * (cast_expression "(long *)(param_1 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) + (binary_expression "uVar16 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (lVar8 == 0) goto LAB_001a34de;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001a34de;" goto statement_identifier ;)) (expression_statement "iVar18 = iVar17 + 1;" (assignment_expression "iVar18 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);" (call_expression "(**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1b8))" ( (pointer_expression "**(code **)(*plVar7 + 0x1b8)" * (pointer_expression "*(code **)(*plVar7 + 0x1b8)" * (cast_expression "(code **)(*plVar7 + 0x1b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1b8)" ( (binary_expression "*plVar7 + 0x1b8" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,iVar17,lVar8,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = iVar18;" (assignment_expression "iVar17 = iVar18" identifier = identifier) ;) }) while (parenthesized_expression "(iVar19 != iVar18)" ( (binary_expression "iVar19 != iVar18" identifier != identifier) )) ;) })) (labeled_statement "LAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }" statement_identifier : (if_statement "if (iVar2 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "uVar11 = *puVar6;" (assignment_expression "uVar11 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (if_statement "if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }" if (parenthesized_expression "((uVar15 <= uVar11) && (uVar11 < uVar14))" ( (binary_expression "(uVar15 <= uVar11) && (uVar11 < uVar14)" (parenthesized_expression "(uVar15 <= uVar11)" ( (binary_expression "uVar15 <= uVar11" identifier <= identifier) )) && (parenthesized_expression "(uVar11 < uVar14)" ( (binary_expression "uVar11 < uVar14" identifier < identifier) ))) )) (compound_statement "{\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));" do (compound_statement "{\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    }" { (expression_statement "puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;" (assignment_expression "puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" identifier = (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" * (cast_expression "(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" ( (binary_expression "*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8" (pointer_expression "*(long *)(param_1 + 0xa8)" * (cast_expression "(long *)(param_1 + 0xa8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) + (binary_expression "(ulong)(uVar11 + (iVar10 - uVar14)) * 8" (call_expression "(ulong)(uVar11 + (iVar10 - uVar14))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 + (iVar10 - uVar14))" ( (binary_expression "uVar11 + (iVar10 - uVar14)" identifier + (parenthesized_expression "(iVar10 - uVar14)" ( (binary_expression "iVar10 - uVar14" identifier - identifier) ))) ))) * number_literal)) ))))) ;) (if_statement "if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }" if (parenthesized_expression "((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0'))" ( (binary_expression "(puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')" (parenthesized_expression "(puVar9 != (undefined8 *)0x0)" ( (binary_expression "puVar9 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)((long)puVar9 + 0x3a) < '\0')" ( (binary_expression "*(char *)((long)puVar9 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar9 + 0x3a)" * (cast_expression "(char *)((long)puVar9 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 0x3a)" ( (binary_expression "(long)puVar9 + 0x3a" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }" { (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }" if (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }" { (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9)" identifier (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9)" ( (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" * (cast_expression "(undefined8 *)PTR_DAT_003f85c0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""PLT entry %d: %s"" " string_content ") , identifier , (pointer_expression "*puVar9" * identifier) ))) ;) })) (expression_statement "(**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);" (call_expression "(**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1c8))" ( (pointer_expression "**(code **)(*plVar7 + 0x1c8)" * (pointer_expression "*(code **)(*plVar7 + 0x1c8)" * (cast_expression "(code **)(*plVar7 + 0x1c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar7 + 0x1c8)" ( (binary_expression "*plVar7 + 0x1c8" (pointer_expression "*plVar7" * identifier) + number_literal) ))))) )) (argument_list "(plVar7,param_2,param_3,iVar19,puVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (if_statement "if (iVar19 == iVar2) {\n        return;\n      }" if (parenthesized_expression "(iVar19 == iVar2)" ( (binary_expression "iVar19 == iVar2" identifier == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));" (assignment_expression "uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" identifier = (pointer_expression "*(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" * (cast_expression "(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + (ulong)(uint)(iVar19 * 4))" ( (binary_expression "(long)puVar6 + (ulong)(uint)(iVar19 * 4)" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (call_expression "(ulong)(uint)(iVar19 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar19 * 4)" ( (binary_expression "iVar19 * 4" identifier * number_literal) )))) ))))) ;) }) while (parenthesized_expression "((uVar15 <= uVar11) && (uVar11 < uVar14))" ( (binary_expression "(uVar15 <= uVar11) && (uVar11 < uVar14)" (parenthesized_expression "(uVar15 <= uVar11)" ( (binary_expression "uVar15 <= uVar11" identifier <= identifier) )) && (parenthesized_expression "(uVar11 < uVar14)" ( (binary_expression "uVar11 < uVar14" identifier < identifier) ))) )) ;) })) (expression_statement "FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");" (call_expression "FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt")" identifier (argument_list "("../../gold/incremental.cc",700,"do_process_got_plt")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""do_process_got_plt"" " string_content ") ))) ;) })))
(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 TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * 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 TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (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 , IDENT , IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (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 , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT) ))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) ))) )) (compound_statement { (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (string_literal " string_content ") , IDENT , IDENT , (pointer_expression * IDENT) ))) ;) })) (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 , IDENT , IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) )))) ))))) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (string_literal " string_content ") , IDENT , (binary_expression IDENT & LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) ))) )) (compound_statement { (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (string_literal " string_content ") , IDENT , (pointer_expression * IDENT) ))) ;) })) (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 , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT * LIT) )))) ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    \n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}" (primitive_type "void") (function_declarator "FUN_001a3350(long param_1,undefined8 param_2,undefined8 param_3)" (identifier "FUN_001a3350") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  uint *puVar6;\n  long *plVar7;\n  long lVar8;\n  undefined8 *puVar9;\n  int iVar10;\n  uint uVar11;\n  long lVar12;\n  long *plVar13;\n  uint uVar14;\n  uint uVar15;\n  ulong uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  \n  lVar4 = *(long *)(param_1 + 0x140);\n  lVar5 = *(long *)(param_1 + 0x150);\n  iVar19 = *(int *)(param_1 + 0x148);\n  puVar6 = *(uint **)(param_1 + 0x158);\n  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);\n  if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }\n  lVar8 = *(long *)(param_1 + 0xe0);\n  lVar12 = lVar8 + 0xf;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  lVar8 = *(long *)(param_1 + 0x128);\n  uVar14 = (uint)(lVar12 >> 4);\n  lVar12 = lVar8 + 3;\n  if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }\n  iVar17 = 0;\n  iVar10 = (int)(lVar12 >> 2);\n  uVar15 = uVar14 - iVar10;\n  iVar2 = *(int *)(lVar4 + 4);\n  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);\n  if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }\nLAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }\n  uVar11 = *puVar6;\n  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }\n                    \n  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "long *plVar7;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar7" (* "*") (identifier "plVar7")) (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "undefined8 *puVar9;" (type_identifier "undefined8") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "long *plVar13;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar13" (* "*") (identifier "plVar13")) (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "ulong uVar16;" (type_identifier "ulong") (identifier "uVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (expression_statement "lVar4 = *(long *)(param_1 + 0x140);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x140)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(param_1 + 0x140)" (* "*") (cast_expression "(long *)(param_1 + 0x140)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x140)" (( "(") (binary_expression "param_1 + 0x140" (identifier "param_1") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "lVar5 = *(long *)(param_1 + 0x150);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x150)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(param_1 + 0x150)" (* "*") (cast_expression "(long *)(param_1 + 0x150)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x150)" (( "(") (binary_expression "param_1 + 0x150" (identifier "param_1") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(param_1 + 0x148);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x148)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(param_1 + 0x148)" (* "*") (cast_expression "(int *)(param_1 + 0x148)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x148)" (( "(") (binary_expression "param_1 + 0x148" (identifier "param_1") (+ "+") (number_literal "0x148")) () ")"))))) (; ";")) (expression_statement "puVar6 = *(uint **)(param_1 + 0x158);" (assignment_expression "puVar6 = *(uint **)(param_1 + 0x158)" (identifier "puVar6") (= "=") (pointer_expression "*(uint **)(param_1 + 0x158)" (* "*") (cast_expression "(uint **)(param_1 + 0x158)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x158)" (( "(") (binary_expression "param_1 + 0x158" (identifier "param_1") (+ "+") (number_literal "0x158")) () ")"))))) (; ";")) (expression_statement "plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);" (assignment_expression "plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18)" (identifier "plVar7") (= "=") (pointer_expression "*(long **)(PTR_DAT_003f85c0 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_003f85c0 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x18)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x18" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (plVar7 == (long *)0x0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }" (if "if") (parenthesized_expression "(plVar7 == (long *)0x0)" (( "(") (binary_expression "plVar7 == (long *)0x0" (identifier "plVar7") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");\n  }" ({ "{") (expression_statement "FUN_00199900("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_00199900("../../gold/parameters.h",0x73,"sized_target")" (identifier "FUN_00199900") (argument_list "("../../gold/parameters.h",0x73,"sized_target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x73") (, ",") (string_literal ""sized_target"" (" """) (string_content "sized_target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar8 = *(long *)(param_1 + 0xe0);" (assignment_expression "lVar8 = *(long *)(param_1 + 0xe0)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(param_1 + 0xe0)" (* "*") (cast_expression "(long *)(param_1 + 0xe0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")"))))) (; ";")) (expression_statement "lVar12 = lVar8 + 0xf;" (assignment_expression "lVar12 = lVar8 + 0xf" (identifier "lVar12") (= "=") (binary_expression "lVar8 + 0xf" (identifier "lVar8") (+ "+") (number_literal "0xf"))) (; ";")) (if_statement "if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }" (if "if") (parenthesized_expression "(-1 < lVar8)" (( "(") (binary_expression "-1 < lVar8" (number_literal "-1") (< "<") (identifier "lVar8")) () ")")) (compound_statement "{\n    lVar12 = lVar8;\n  }" ({ "{") (expression_statement "lVar12 = lVar8;" (assignment_expression "lVar12 = lVar8" (identifier "lVar12") (= "=") (identifier "lVar8")) (; ";")) (} "}"))) (expression_statement "lVar8 = *(long *)(param_1 + 0x128);" (assignment_expression "lVar8 = *(long *)(param_1 + 0x128)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(param_1 + 0x128)" (* "*") (cast_expression "(long *)(param_1 + 0x128)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x128)" (( "(") (binary_expression "param_1 + 0x128" (identifier "param_1") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "uVar14 = (uint)(lVar12 >> 4);" (assignment_expression "uVar14 = (uint)(lVar12 >> 4)" (identifier "uVar14") (= "=") (call_expression "(uint)(lVar12 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar12 >> 4)" (( "(") (binary_expression "lVar12 >> 4" (identifier "lVar12") (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "lVar12 = lVar8 + 3;" (assignment_expression "lVar12 = lVar8 + 3" (identifier "lVar12") (= "=") (binary_expression "lVar8 + 3" (identifier "lVar8") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (-1 < lVar8) {\n    lVar12 = lVar8;\n  }" (if "if") (parenthesized_expression "(-1 < lVar8)" (( "(") (binary_expression "-1 < lVar8" (number_literal "-1") (< "<") (identifier "lVar8")) () ")")) (compound_statement "{\n    lVar12 = lVar8;\n  }" ({ "{") (expression_statement "lVar12 = lVar8;" (assignment_expression "lVar12 = lVar8" (identifier "lVar12") (= "=") (identifier "lVar8")) (; ";")) (} "}"))) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar10 = (int)(lVar12 >> 2);" (assignment_expression "iVar10 = (int)(lVar12 >> 2)" (identifier "iVar10") (= "=") (cast_expression "(int)(lVar12 >> 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(lVar12 >> 2)" (( "(") (binary_expression "lVar12 >> 2" (identifier "lVar12") (>> ">>") (number_literal "2")) () ")")))) (; ";")) (expression_statement "uVar15 = uVar14 - iVar10;" (assignment_expression "uVar15 = uVar14 - iVar10" (identifier "uVar15") (= "=") (binary_expression "uVar14 - iVar10" (identifier "uVar14") (- "-") (identifier "iVar10"))) (; ";")) (expression_statement "iVar2 = *(int *)(lVar4 + 4);" (assignment_expression "iVar2 = *(int *)(lVar4 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(lVar4 + 4)" (* "*") (cast_expression "(int *)(lVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 4)" (( "(") (binary_expression "lVar4 + 4" (identifier "lVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);" (assignment_expression "plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" (identifier "plVar13") (= "=") (cast_expression "(long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1b0))" (( "(") (pointer_expression "**(code **)(*plVar7 + 0x1b0)" (* "*") (pointer_expression "*(code **)(*plVar7 + 0x1b0)" (* "*") (cast_expression "(code **)(*plVar7 + 0x1b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar7 + 0x1b0)" (( "(") (binary_expression "*plVar7 + 0x1b0" (pointer_expression "*plVar7" (* "*") (identifier "plVar7")) (+ "+") (number_literal "0x1b0")) () ")"))))) () ")")) (argument_list "(plVar7,param_2,param_3,iVar19,iVar2)" (( "(") (identifier "plVar7") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "iVar19") (, ",") (identifier "iVar2") () ")"))))) (; ";")) (if_statement "if (iVar19 != 0) {\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);\n  }" ({ "{") (do_statement "do {\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    } while (iVar19 != iVar18);" (do "do") (compound_statement "{\n      while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }\n      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));\n      if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }\n      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));\n      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }\n      uVar16 = (ulong)uVar3;\n      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }\n      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);\n      if (lVar8 == 0) goto LAB_001a34de;\n      iVar18 = iVar17 + 1;\n      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);\n      iVar17 = iVar18;\n    }" ({ "{") (while_statement "while( true ) {\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));\n        if ((bVar1 & 0x7f) != 0x7f) break;\n        (**(code **)(*plVar13 + 200))(plVar13,iVar17);\nLAB_001a34de:\n        iVar17 = iVar17 + 1;\n        if (iVar19 == iVar17) goto LAB_001a35be;\n      }" ({ "{") (expression_statement "bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));" (assignment_expression "bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8))" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(lVar4 + (ulong)(iVar17 + 8))" (* "*") (cast_expression "(byte *)(lVar4 + (ulong)(iVar17 + 8))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + (ulong)(iVar17 + 8))" (( "(") (binary_expression "lVar4 + (ulong)(iVar17 + 8)" (identifier "lVar4") (+ "+") (call_expression "(ulong)(iVar17 + 8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar17 + 8)" (( "(") (binary_expression "iVar17 + 8" (identifier "iVar17") (+ "+") (number_literal "8")) () ")")))) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 0x7f) != 0x7f) break;" (if "if") (parenthesized_expression "((bVar1 & 0x7f) != 0x7f)" (( "(") (binary_expression "(bVar1 & 0x7f) != 0x7f" (parenthesized_expression "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")")) (!= "!=") (number_literal "0x7f")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(**(code **)(*plVar13 + 200))(plVar13,iVar17);" (call_expression "(**(code **)(*plVar13 + 200))(plVar13,iVar17)" (parenthesized_expression "(**(code **)(*plVar13 + 200))" (( "(") (pointer_expression "**(code **)(*plVar13 + 200)" (* "*") (pointer_expression "*(code **)(*plVar13 + 200)" (* "*") (cast_expression "(code **)(*plVar13 + 200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar13 + 200)" (( "(") (binary_expression "*plVar13 + 200" (pointer_expression "*plVar13" (* "*") (identifier "plVar13")) (+ "+") (number_literal "200")) () ")"))))) () ")")) (argument_list "(plVar13,iVar17)" (( "(") (identifier "plVar13") (, ",") (identifier "iVar17") () ")"))) (; ";")) (labeled_statement "LAB_001a34de:\n        iVar17 = iVar17 + 1;" (statement_identifier "LAB_001a34de") (: ":") (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (iVar19 == iVar17) goto LAB_001a35be;" (if "if") (parenthesized_expression "(iVar19 == iVar17)" (( "(") (binary_expression "iVar19 == iVar17" (identifier "iVar19") (== "==") (identifier "iVar17")) () ")")) (goto_statement "goto LAB_001a35be;" (goto "goto") (statement_identifier "LAB_001a35be") (; ";"))) (} "}"))) (expression_statement "uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));" (assignment_expression "uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" (* "*") (cast_expression "(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + (ulong)(uint)(iVar17 * 8))" (( "(") (binary_expression "lVar5 + (ulong)(uint)(iVar17 * 8)" (identifier "lVar5") (+ "+") (call_expression "(ulong)(uint)(iVar17 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar17 * 8)" (( "(") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8")) () ")")))) () ")"))))) (; ";")) (if_statement "if (-1 < (char)bVar1) {\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }" (if "if") (parenthesized_expression "(-1 < (char)bVar1)" (( "(") (binary_expression "-1 < (char)bVar1" (number_literal "-1") (< "<") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1"))) () ")")) (compound_statement "{\n        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }\n        puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);\n        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }\n        goto LAB_001a34de;\n      }" ({ "{") (if_statement "if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" (if "if") (parenthesized_expression "((uVar11 < uVar15) || (uVar14 <= uVar11))" (( "(") (binary_expression "(uVar11 < uVar15) || (uVar14 <= uVar11)" (parenthesized_expression "(uVar11 < uVar15)" (( "(") (binary_expression "uVar11 < uVar15" (identifier "uVar11") (< "<") (identifier "uVar15")) () ")")) (|| "||") (parenthesized_expression "(uVar14 <= uVar11)" (( "(") (binary_expression "uVar14 <= uVar11" (identifier "uVar14") (<= "<=") (identifier "uVar11")) () ")"))) () ")")) (compound_statement "{\n                    \n          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");\n        }" ({ "{") (expression_statement "FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");" (call_expression "FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" (identifier "FUN_00199900") (argument_list "("../../gold/incremental.cc",0x2aa,"do_process_got_plt")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x2aa") (, ",") (string_literal ""do_process_got_plt"" (" """) (string_content "do_process_got_plt") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);" (assignment_expression "puVar9 = *(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" (* "*") (cast_expression "(undefined8 **)\n                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8" (pointer_expression "*(long *)(param_1 + 0xa8)" (* "*") (cast_expression "(long *)(param_1 + 0xa8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (+ "+") (binary_expression "(ulong)((iVar10 - uVar14) + uVar11) * 8" (call_expression "(ulong)((iVar10 - uVar14) + uVar11)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((iVar10 - uVar14) + uVar11)" (( "(") (binary_expression "(iVar10 - uVar14) + uVar11" (parenthesized_expression "(iVar10 - uVar14)" (( "(") (binary_expression "iVar10 - uVar14" (identifier "iVar10") (- "-") (identifier "uVar14")) () ")")) (+ "+") (identifier "uVar11")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }" (if "if") (parenthesized_expression "((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0'))" (( "(") (binary_expression "(puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')" (parenthesized_expression "(puVar9 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar9 != (undefined8 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((long)puVar9 + 0x3a) < '\0')" (( "(") (binary_expression "*(char *)((long)puVar9 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar9 + 0x3a)" (* "*") (cast_expression "(char *)((long)puVar9 + 0x3a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + 0x3a)" (( "(") (binary_expression "(long)puVar9 + 0x3a" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x3a")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }\n          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);\n        }" ({ "{") (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }" (if "if") (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" (( "(") (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (( "(") (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" (identifier "PTR_DAT_003f85c0") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);\n          }" ({ "{") (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9)" (identifier "FUN_00191650") (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,\n                         *puVar9)" (( "(") (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" (* "*") (cast_expression "(undefined8 *)PTR_DAT_003f85c0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_003f85c0"))) (, ",") (string_literal ""GOT entry %d, type %02x: %s"" (" """) (string_content "GOT entry %d, type %02x: %s") (" """)) (, ",") (identifier "iVar17") (, ",") (identifier "bVar1") (, ",") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);" (call_expression "(**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1c0))" (( "(") (pointer_expression "**(code **)(*plVar7 + 0x1c0)" (* "*") (pointer_expression "*(code **)(*plVar7 + 0x1c0)" (* "*") (cast_expression "(code **)(*plVar7 + 0x1c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar7 + 0x1c0)" (( "(") (binary_expression "*plVar7 + 0x1c0" (pointer_expression "*plVar7" (* "*") (identifier "plVar7")) (+ "+") (number_literal "0x1c0")) () ")"))))) () ")")) (argument_list "(plVar7,iVar17,puVar9,bVar1)" (( "(") (identifier "plVar7") (, ",") (identifier "iVar17") (, ",") (identifier "puVar9") (, ",") (identifier "bVar1") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001a34de;" (goto "goto") (statement_identifier "LAB_001a34de") (; ";")) (} "}"))) (expression_statement "uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));" (assignment_expression "uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" (* "*") (cast_expression "(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 4 + (ulong)(uint)(iVar17 * 8))" (( "(") (binary_expression "lVar5 + 4 + (ulong)(uint)(iVar17 * 8)" (binary_expression "lVar5 + 4" (identifier "lVar5") (+ "+") (number_literal "4")) (+ "+") (call_expression "(ulong)(uint)(iVar17 * 8)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar17 * 8)" (( "(") (binary_expression "iVar17 * 8" (identifier "iVar17") (* "*") (number_literal "8")) () ")")))) () ")"))))) (; ";")) (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }" (if "if") (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" (( "(") (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (( "(") (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" (identifier "PTR_DAT_003f85c0") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);\n      }" ({ "{") (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f)" (identifier "FUN_00191650") (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",\n                     iVar17,bVar1 & 0x7f)" (( "(") (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" (* "*") (cast_expression "(undefined8 *)PTR_DAT_003f85c0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_003f85c0"))) (, ",") (string_literal ""GOT entry %d, type %02x: (local symbol)"" (" """) (string_content "GOT entry %d, type %02x: (local symbol)") (" """)) (, ",") (identifier "iVar17") (, ",") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar16 = (ulong)uVar3;" (assignment_expression "uVar16 = (ulong)uVar3" (identifier "uVar16") (= "=") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3"))) (; ";")) (if_statement "if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }" (if "if") (parenthesized_expression "((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16)" (( "(") (binary_expression "(ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16" (call_expression "(ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3)" (( "(") (binary_expression "*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3" (binary_expression "*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78)" (pointer_expression "*(long *)(param_1 + 0x80)" (* "*") (cast_expression "(long *)(param_1 + 0x80)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x80)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x78)" (* "*") (cast_expression "(long *)(param_1 + 0x78)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar16")) () ")")) (compound_statement "{\n                    \n        FUN_00199900("../../gold/incremental.h",0x654,"input_object");\n      }" ({ "{") (expression_statement "FUN_00199900("../../gold/incremental.h",0x654,"input_object");" (call_expression "FUN_00199900("../../gold/incremental.h",0x654,"input_object")" (identifier "FUN_00199900") (argument_list "("../../gold/incremental.h",0x654,"input_object")" (( "(") (string_literal ""../../gold/incremental.h"" (" """) (string_content "../../gold/incremental.h") (" """)) (, ",") (number_literal "0x654") (, ",") (string_literal ""input_object"" (" """) (string_content "input_object") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);" (assignment_expression "lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x78) + uVar16 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x78) + uVar16 * 8" (pointer_expression "*(long *)(param_1 + 0x78)" (* "*") (cast_expression "(long *)(param_1 + 0x78)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (+ "+") (binary_expression "uVar16 * 8" (identifier "uVar16") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar8 == 0) goto LAB_001a34de;" (if "if") (parenthesized_expression "(lVar8 == 0)" (( "(") (binary_expression "lVar8 == 0" (identifier "lVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a34de;" (goto "goto") (statement_identifier "LAB_001a34de") (; ";"))) (expression_statement "iVar18 = iVar17 + 1;" (assignment_expression "iVar18 = iVar17 + 1" (identifier "iVar18") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);" (call_expression "(**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1b8))" (( "(") (pointer_expression "**(code **)(*plVar7 + 0x1b8)" (* "*") (pointer_expression "*(code **)(*plVar7 + 0x1b8)" (* "*") (cast_expression "(code **)(*plVar7 + 0x1b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar7 + 0x1b8)" (( "(") (binary_expression "*plVar7 + 0x1b8" (pointer_expression "*plVar7" (* "*") (identifier "plVar7")) (+ "+") (number_literal "0x1b8")) () ")"))))) () ")")) (argument_list "(plVar7,iVar17,lVar8,uVar11)" (( "(") (identifier "plVar7") (, ",") (identifier "iVar17") (, ",") (identifier "lVar8") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "iVar17 = iVar18;" (assignment_expression "iVar17 = iVar18" (identifier "iVar17") (= "=") (identifier "iVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 != iVar18)" (( "(") (binary_expression "iVar19 != iVar18" (identifier "iVar19") (!= "!=") (identifier "iVar18")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_001a35be:\n  if (iVar2 == 0) {\n    return;\n  }" (statement_identifier "LAB_001a35be") (: ":") (if_statement "if (iVar2 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "uVar11 = *puVar6;" (assignment_expression "uVar11 = *puVar6" (identifier "uVar11") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (if_statement "if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }" (if "if") (parenthesized_expression "((uVar15 <= uVar11) && (uVar11 < uVar14))" (( "(") (binary_expression "(uVar15 <= uVar11) && (uVar11 < uVar14)" (parenthesized_expression "(uVar15 <= uVar11)" (( "(") (binary_expression "uVar15 <= uVar11" (identifier "uVar15") (<= "<=") (identifier "uVar11")) () ")")) (&& "&&") (parenthesized_expression "(uVar11 < uVar14)" (( "(") (binary_expression "uVar11 < uVar14" (identifier "uVar11") (< "<") (identifier "uVar14")) () ")"))) () ")")) (compound_statement "{\n    iVar19 = 0;\n    do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));\n  }" ({ "{") (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));" (do "do") (compound_statement "{\n      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;\n      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }\n      iVar19 = iVar19 + 1;\n      if (iVar19 == iVar2) {\n        return;\n      }\n      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));\n    }" ({ "{") (expression_statement "puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)\n      ;" (assignment_expression "puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" (* "*") (cast_expression "(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8" (pointer_expression "*(long *)(param_1 + 0xa8)" (* "*") (cast_expression "(long *)(param_1 + 0xa8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (+ "+") (binary_expression "(ulong)(uVar11 + (iVar10 - uVar14)) * 8" (call_expression "(ulong)(uVar11 + (iVar10 - uVar14))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar11 + (iVar10 - uVar14))" (( "(") (binary_expression "uVar11 + (iVar10 - uVar14)" (identifier "uVar11") (+ "+") (parenthesized_expression "(iVar10 - uVar14)" (( "(") (binary_expression "iVar10 - uVar14" (identifier "iVar10") (- "-") (identifier "uVar14")) () ")"))) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }" (if "if") (parenthesized_expression "((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0'))" (( "(") (binary_expression "(puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')" (parenthesized_expression "(puVar9 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar9 != (undefined8 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((long)puVar9 + 0x3a) < '\0')" (( "(") (binary_expression "*(char *)((long)puVar9 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar9 + 0x3a)" (* "*") (cast_expression "(char *)((long)puVar9 + 0x3a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + 0x3a)" (( "(") (binary_expression "(long)puVar9 + 0x3a" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x3a")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }\n        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);\n      }" ({ "{") (if_statement "if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }" (if "if") (parenthesized_expression "((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0))" (( "(") (binary_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((PTR_DAT_003f85c0[0x24] & 0x10) != 0)" (( "(") (binary_expression "(PTR_DAT_003f85c0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_003f85c0[0x24] & 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0[0x24] & 0x10" (subscript_expression "PTR_DAT_003f85c0[0x24]" (identifier "PTR_DAT_003f85c0") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);\n        }" ({ "{") (expression_statement "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);" (call_expression "FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9)" (identifier "FUN_00191650") (argument_list "(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9)" (( "(") (pointer_expression "*(undefined8 *)PTR_DAT_003f85c0" (* "*") (cast_expression "(undefined8 *)PTR_DAT_003f85c0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_003f85c0"))) (, ",") (string_literal ""PLT entry %d: %s"" (" """) (string_content "PLT entry %d: %s") (" """)) (, ",") (identifier "iVar19") (, ",") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);" (call_expression "(**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9)" (parenthesized_expression "(**(code **)(*plVar7 + 0x1c8))" (( "(") (pointer_expression "**(code **)(*plVar7 + 0x1c8)" (* "*") (pointer_expression "*(code **)(*plVar7 + 0x1c8)" (* "*") (cast_expression "(code **)(*plVar7 + 0x1c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar7 + 0x1c8)" (( "(") (binary_expression "*plVar7 + 0x1c8" (pointer_expression "*plVar7" (* "*") (identifier "plVar7")) (+ "+") (number_literal "0x1c8")) () ")"))))) () ")")) (argument_list "(plVar7,param_2,param_3,iVar19,puVar9)" (( "(") (identifier "plVar7") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "iVar19") (, ",") (identifier "puVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar19 == iVar2) {\n        return;\n      }" (if "if") (parenthesized_expression "(iVar19 == iVar2)" (( "(") (binary_expression "iVar19 == iVar2" (identifier "iVar19") (== "==") (identifier "iVar2")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));" (assignment_expression "uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" (* "*") (cast_expression "(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar6 + (ulong)(uint)(iVar19 * 4))" (( "(") (binary_expression "(long)puVar6 + (ulong)(uint)(iVar19 * 4)" (cast_expression "(long)puVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar6")) (+ "+") (call_expression "(ulong)(uint)(iVar19 * 4)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(iVar19 * 4)" (( "(") (binary_expression "iVar19 * 4" (identifier "iVar19") (* "*") (number_literal "4")) () ")")))) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar15 <= uVar11) && (uVar11 < uVar14))" (( "(") (binary_expression "(uVar15 <= uVar11) && (uVar11 < uVar14)" (parenthesized_expression "(uVar15 <= uVar11)" (( "(") (binary_expression "uVar15 <= uVar11" (identifier "uVar15") (<= "<=") (identifier "uVar11")) () ")")) (&& "&&") (parenthesized_expression "(uVar11 < uVar14)" (( "(") (binary_expression "uVar11 < uVar14" (identifier "uVar11") (< "<") (identifier "uVar14")) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");" (call_expression "FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt")" (identifier "FUN_00199900") (argument_list "("../../gold/incremental.cc",700,"do_process_got_plt")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "700") (, ",") (string_literal ""do_process_got_plt"" (" """) (string_content "do_process_got_plt") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_process_got_plt(Sized_incremental_binary<32,_false> * this,
   Symbol_table * symtab, Layout * layout) */

void __thiscall
var_16::Sized_incremental_binary<32,var_21>::do_process_got_plt
          (Sized_incremental_binary<32,var_21> *this,Symbol_table *symtab,Layout *layout)

{
  byte var_11;
  type_1 var_24;
  type_1 var_14;
  type_1 uVar4;
  type_2 *var_8;
  type_2 *var_13;
  type_1 *puVar7;
  type_3 *var_2;
  long var_4;
  type_4 ppSVar10;
  var_1<32,var_21> *var_23;
  type_5 *var_19;
  int var_10;
  int var_7;
  int iVar15;
  long var_5;
  type_6 extraout_var;
  type_1 var_6;
  type_1 var_15;
  type_1 uVar19;
  type_7 uVar20;
  type_7 var_22;
  type_1 var_9;
  type_7 uVar23;
  
  var_8 = (this->got_plt_reader_).p_;
  var_13 = (this->got_plt_reader_).got_desc_p_;
  var_9 = (this->got_plt_reader_).got_count_;
  puVar7 = (type_1 *)(this->got_plt_reader_).plt_desc_p_;
  var_2 = parameters->target_;
  if (var_2 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gold/parameters.h",0x73,"sized_target");
  }
  var_4 = (this->main_symtab_loc_).data_size;
  var_5 = var_4 + 0xf;
  if (-1 < var_4) {
    var_5 = var_4;
  }
  var_4 = (this->symtab_reader_).len_;
  var_6 = (type_1)(var_5 >> 4);
  var_5 = var_4 + 3;
  if (-1 < var_4) {
    var_5 = var_4;
  }
  uVar23 = 0;
  var_7 = (int)(var_5 >> 2);
  var_15 = var_6 - var_7;
  var_24 = *(type_1 *)(var_8 + 4);
  iVar15 = (*var_2->_vptr_Target[0x36])(var_2,symtab,layout,(type_7)var_9,(type_7)var_24);
  if (var_9 != 0) {
    do {
      while( true ) {
        var_10 = (int)uVar23;
        var_11 = var_8[var_10 + 8];
        uVar19 = var_11 & 0x7f;
        if ((char)uVar19 != '\x7f') break;
        (**(type_8 **)(*(long *)var_12(extraout_var,iVar15) + 200))
                  ((long *)var_12(extraout_var,iVar15),uVar23);
LAB_001a34de:
        uVar23 = (type_7)(var_10 + 1U);
        if (var_9 == var_10 + 1U) goto LAB_001a35be;
      }
      var_14 = *(type_1 *)(var_13 + (type_1)(var_10 * 8));
      if (-1 < (char)var_11) {
        if ((var_14 < var_15) || (var_6 <= var_14)) {
                    /* WARNING: Subroutine does not return */
          var_3("../../gold/incremental.cc",0x2aa,"do_process_got_plt");
        }
        var_19 = (this->symbol_map_).
                  super__Vector_base<var_16::type_5*,var_17::allocator<var_16::type_5*>var_18>._M_impl._M_start
                  [(var_7 - var_6) + var_14];
        if ((var_19 != (type_5 *)0x0) && ((char)var_19->field_0x3a < '\0')) {
          if ((parameters->options_ != (type_9 *)0x0) && ((parameters->debug_ & 0x10) != 0)
             ) {
            Errors::var_20(parameters->errors_,"GOT entry %d, type %02x: %s",uVar23,(type_7)var_11,
                          var_19->name_);
          }
          (*var_2->_vptr_Target[0x38])(var_2,uVar23,var_19,(type_7)var_11);
        }
        goto LAB_001a34de;
      }
      uVar4 = *(type_1 *)(var_13 + (type_7)(type_1)(var_10 * 8) + 4);
      uVar20 = (type_7)uVar19;
      if ((parameters->options_ != (type_9 *)0x0) && ((parameters->debug_ & 0x10) != 0)) {
        Errors::var_20(parameters->errors_,"GOT entry %d, type %02x: (local symbol)",uVar23,uVar20);
        uVar20 = (type_7)(type_1)var_11 & 0x7f;
      }
      var_22 = (type_7)uVar4;
      ppSVar10 = (this->input_objects_).
                 super__Vector_base<var_16::var_1<32,var_21>*,var_17::allocator<var_16::var_1<32,var_21>*>var_18>
                 ._M_impl._M_start;
      if ((type_7)((long)(this->input_objects_).
                        super__Vector_base<var_16::var_1<32,var_21>*,var_17::allocator<var_16::var_1<32,var_21>*>var_18>
                        ._M_impl._M_finish - (long)ppSVar10 >> 3) <= var_22) {
                    /* WARNING: Subroutine does not return */
        var_3("../../gold/incremental.h",0x654,"input_object");
      }
      var_23 = ppSVar10[var_22];
      if (var_23 == (var_1<32,var_21> *)0x0) goto LAB_001a34de;
      (*var_2->_vptr_Target[0x37])(var_2,uVar23,var_23,(type_7)var_14,uVar20);
      uVar23 = (type_7)(var_10 + 1U);
    } while (var_9 != var_10 + 1U);
  }
LAB_001a35be:
  if (var_24 == 0) {
    return;
  }
  var_9 = *puVar7;
  if ((var_15 <= var_9) && (var_9 < var_6)) {
    uVar23 = 0;
    do {
      var_19 = (this->symbol_map_).
                super__Vector_base<var_16::type_5*,var_17::allocator<var_16::type_5*>var_18>._M_impl._M_start
                [var_9 + (var_7 - var_6)];
      if ((var_19 != (type_5 *)0x0) && ((char)var_19->field_0x3a < '\0')) {
        if ((parameters->options_ != (type_9 *)0x0) && ((parameters->debug_ & 0x10) != 0))
        {
          Errors::var_20(parameters->errors_,"PLT entry %d: %s",uVar23,var_19->name_);
        }
        (*var_2->_vptr_Target[0x39])(var_2,symtab,layout,uVar23,var_19);
      }
      var_9 = (int)uVar23 + 1;
      uVar23 = (type_7)var_9;
      if (var_9 == var_24) {
        return;
      }
      var_9 = *(type_1 *)((long)puVar7 + (type_7)(var_9 * 4));
    } while ((var_15 <= var_9) && (var_9 < var_6));
  }
                    /* WARNING: Subroutine does not return */
  var_3("../../gold/incremental.cc",700,"do_process_got_plt");
}


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

void MASKED(long param_1,undefined8 param_2,undefined8 param_3)

{
  byte bVar1;
  int iVar2;
  uint uVar3;
  long lVar4;
  long lVar5;
  uint *puVar6;
  long *plVar7;
  long lVar8;
  undefined8 *puVar9;
  int iVar10;
  uint uVar11;
  long lVar12;
  long *plVar13;
  uint uVar14;
  uint uVar15;
  ulong uVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  
  lVar4 = *(long *)(param_1 + 0x140);
  lVar5 = *(long *)(param_1 + 0x150);
  iVar19 = *(int *)(param_1 + 0x148);
  puVar6 = *(uint **)(param_1 + 0x158);
  plVar7 = *(long **)(PTR_DAT_003f85c0 + 0x18);
  if (plVar7 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_00199900("../../gold/parameters.h",0x73,"sized_target");
  }
  lVar8 = *(long *)(param_1 + 0xe0);
  lVar12 = lVar8 + 0xf;
  if (-1 < lVar8) {
    lVar12 = lVar8;
  }
  lVar8 = *(long *)(param_1 + 0x128);
  uVar14 = (uint)(lVar12 >> 4);
  lVar12 = lVar8 + 3;
  if (-1 < lVar8) {
    lVar12 = lVar8;
  }
  iVar17 = 0;
  iVar10 = (int)(lVar12 >> 2);
  uVar15 = uVar14 - iVar10;
  iVar2 = *(int *)(lVar4 + 4);
  plVar13 = (long *)(**(code **)(*plVar7 + 0x1b0))(plVar7,param_2,param_3,iVar19,iVar2);
  if (iVar19 != 0) {
    do {
      while( true ) {
        bVar1 = *(byte *)(lVar4 + (ulong)(iVar17 + 8));
        if ((bVar1 & 0x7f) != 0x7f) break;
        (**(code **)(*plVar13 + 200))(plVar13,iVar17);
LAB_001a34de:
        iVar17 = iVar17 + 1;
        if (iVar19 == iVar17) goto LAB_001a35be;
      }
      uVar11 = *(uint *)(lVar5 + (ulong)(uint)(iVar17 * 8));
      if (-1 < (char)bVar1) {
        if ((uVar11 < uVar15) || (uVar14 <= uVar11)) {
                    /* WARNING: Subroutine does not return */
          FUN_00199900("../../gold/incremental.cc",0x2aa,"do_process_got_plt");
        }
        puVar9 = *(undefined8 **)
                  (*(long *)(param_1 + 0xa8) + (ulong)((iVar10 - uVar14) + uVar11) * 8);
        if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {
          if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {
            FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: %s",iVar17,bVar1,
                         *puVar9);
          }
          (**(code **)(*plVar7 + 0x1c0))(plVar7,iVar17,puVar9,bVar1);
        }
        goto LAB_001a34de;
      }
      uVar3 = *(uint *)(lVar5 + 4 + (ulong)(uint)(iVar17 * 8));
      if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {
        FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"GOT entry %d, type %02x: (local symbol)",
                     iVar17,bVar1 & 0x7f);
      }
      uVar16 = (ulong)uVar3;
      if ((ulong)(*(long *)(param_1 + 0x80) - *(long *)(param_1 + 0x78) >> 3) <= uVar16) {
                    /* WARNING: Subroutine does not return */
        FUN_00199900("../../gold/incremental.h",0x654,"input_object");
      }
      lVar8 = *(long *)(*(long *)(param_1 + 0x78) + uVar16 * 8);
      if (lVar8 == 0) goto LAB_001a34de;
      iVar18 = iVar17 + 1;
      (**(code **)(*plVar7 + 0x1b8))(plVar7,iVar17,lVar8,uVar11);
      iVar17 = iVar18;
    } while (iVar19 != iVar18);
  }
LAB_001a35be:
  if (iVar2 == 0) {
    return;
  }
  uVar11 = *puVar6;
  if ((uVar15 <= uVar11) && (uVar11 < uVar14)) {
    iVar19 = 0;
    do {
      puVar9 = *(undefined8 **)(*(long *)(param_1 + 0xa8) + (ulong)(uVar11 + (iVar10 - uVar14)) * 8)
      ;
      if ((puVar9 != (undefined8 *)0x0) && (*(char *)((long)puVar9 + 0x3a) < '\0')) {
        if ((*(long *)(PTR_DAT_003f85c0 + 0x10) != 0) && ((PTR_DAT_003f85c0[0x24] & 0x10) != 0)) {
          FUN_00191650(*(undefined8 *)PTR_DAT_003f85c0,"PLT entry %d: %s",iVar19,*puVar9);
        }
        (**(code **)(*plVar7 + 0x1c8))(plVar7,param_2,param_3,iVar19,puVar9);
      }
      iVar19 = iVar19 + 1;
      if (iVar19 == iVar2) {
        return;
      }
      uVar11 = *(uint *)((long)puVar6 + (ulong)(uint)(iVar19 * 4));
    } while ((uVar15 <= uVar11) && (uVar11 < uVar14));
  }
                    /* WARNING: Subroutine does not return */
  FUN_00199900("../../gold/incremental.cc",700,"do_process_got_plt");
}

